/* ==========================================================================
   Tiny Maket — Product listing (shop + product taxonomies). Ported from prototype.
   ========================================================================== */

.plp-wrap{padding-top:8px;padding-bottom:40px;}

/* breadcrumb */
.breadcrumb{padding:14px 0 4px;font-size:.78rem;color:var(--ink3);display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
.breadcrumb a{color:var(--ink2);font-weight:600;}
.breadcrumb a:hover{color:var(--red);}
.breadcrumb svg{width:12px;height:12px;color:var(--line2);}
.breadcrumb .cur,.breadcrumb .breadcrumb_last{color:var(--ink);font-weight:700;}
.breadcrumb span[property]{display:inline-flex;align-items:center;gap:7px;}

/* category hero (compact) */
.cathero{background:radial-gradient(120% 140% at 82% 0,#2F3742,#1b2027 58%,#15181D);border-radius:var(--r3);padding:30px 28px;color:#fff;position:relative;overflow:hidden;margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.cathero-grain{position:absolute;inset:0;background:repeating-linear-gradient(118deg,rgba(255,255,255,.025) 0 1px,transparent 1px 28px);pointer-events:none;}
.cathero-glow{position:absolute;width:320px;height:320px;background:radial-gradient(circle,rgba(236,28,37,.22),transparent 64%);top:-130px;left:-70px;pointer-events:none;}
.cathero-info{position:relative;z-index:1;}
.cathero .eyebrow{color:#FF6B72;}
.cathero h1{font-size:clamp(1.5rem,4.2vw,2.2rem);font-weight:900;letter-spacing:-.6px;margin-bottom:9px;}
.cathero p{font-size:.86rem;color:rgba(255,255,255,.66);max-width:470px;line-height:1.7;}
.cathero-meta{display:flex;gap:22px;margin-top:16px;}
.cathero-meta b{display:block;font-size:1.25rem;font-weight:900;}
.cathero-meta span{font-size:.66rem;color:rgba(255,255,255,.55);}
.cathero-visual{position:relative;z-index:1;width:38%;max-width:270px;flex:none;}
.cathero-visual svg{width:100%;filter:drop-shadow(0 22px 30px rgba(0,0,0,.5));animation:hfloat 6s ease-in-out infinite;}
@keyframes hfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@media(max-width:760px){.cathero-visual{display:none;}.cathero{padding:24px 22px;}}
@media(prefers-reduced-motion:reduce){.cathero-visual svg{animation:none;}}

/* subcategory pills */
.subpills{display:flex;gap:9px;overflow-x:auto;scrollbar-width:none;padding-bottom:6px;margin-bottom:16px;}
.subpills::-webkit-scrollbar{display:none;}
.subpill{flex:none;padding:9px 17px;border-radius:999px;background:var(--sf);border:1.5px solid var(--line);font-size:.82rem;font-weight:700;color:var(--ink2);transition:.2s;}
.subpill:hover{border-color:var(--line2);transform:translateY(-2px);}
.subpill.active{background:var(--dark);color:#fff;border-color:var(--dark);}

/* toolbar */
.plp-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap;}
.plp-count{font-size:.84rem;color:var(--ink2);font-weight:600;}
.plp-count b{color:var(--ink);font-weight:800;}
.plp-tools{display:flex;align-items:center;gap:9px;}
.filter-btn{display:flex;align-items:center;gap:7px;padding:10px 16px;border-radius:11px;background:var(--sf);border:1.5px solid var(--line);font-weight:700;font-size:.82rem;color:var(--ink);}
.filter-btn svg{width:16px;height:16px;}
.filter-btn .fcount{background:var(--red);color:#fff;font-size:.6rem;font-weight:800;min-width:17px;height:17px;border-radius:9px;display:none;align-items:center;justify-content:center;padding:0 4px;}
.filter-btn .fcount.on{display:flex;}
@media(min-width:980px){.filter-btn{display:none;}}
.sort-wrap{position:relative;}
.sort-sel{appearance:none;-webkit-appearance:none;padding:10px 38px 10px 16px;border-radius:11px;background:var(--sf);border:1.5px solid var(--line);font-family:inherit;font-weight:700;font-size:.82rem;color:var(--ink);cursor:pointer;}
.sort-wrap>svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--ink3);pointer-events:none;}

/* layout */
.plp-layout{display:grid;grid-template-columns:1fr;gap:24px;align-items:start;}
@media(min-width:980px){.plp-layout{grid-template-columns:262px 1fr;}}

/* filters */
.filters{display:none;}
@media(min-width:980px){.filters{display:block;position:sticky;top:88px;}}
.filters-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.filters-head h2{font-size:.95rem;font-weight:800;}
.fclear{font-size:.78rem;font-weight:700;color:var(--red);background:none;}
.fgroup{background:var(--sf);border:1px solid var(--line);border-radius:var(--r2);padding:16px 18px;margin-bottom:12px;}
.fgroup h3{font-size:.85rem;font-weight:800;margin-bottom:13px;}
.fopt{display:flex;align-items:center;gap:10px;padding:6px 0;cursor:pointer;font-size:.82rem;color:var(--ink2);user-select:none;}
.fopt input{position:absolute;opacity:0;width:0;height:0;}
.fbox{width:19px;height:19px;border-radius:6px;border:1.8px solid var(--line2);flex:none;display:flex;align-items:center;justify-content:center;transition:.18s;}
.fbox svg{width:12px;height:12px;color:#fff;opacity:0;transition:opacity .15s;}
.fopt input:checked+.fbox{background:var(--red);border-color:var(--red);}
.fopt input:checked+.fbox svg{opacity:1;}
.fopt:hover{color:var(--ink);}
.fopt .fct{margin-inline-start:auto;font-size:.72rem;color:var(--ink3);font-weight:600;}
.fopt .bb,.fopt .micon{width:22px;height:22px;flex:none;box-shadow:none;font-size:.48rem;}

/* price tiers */
.price-group h3{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
.price-unit{font-size:.64rem;font-weight:600;color:var(--ink3);}
.price-tiers{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:6px;}
.ptier{padding:9px 6px;border-radius:10px;background:var(--sf2);border:1.5px solid var(--line);font-family:inherit;font-weight:700;font-size:.78rem;color:var(--ink2);transition:.18s;cursor:pointer;text-align:center;}
.ptier:hover{border-color:var(--line2);}
.ptier.active{background:var(--red-soft);border-color:var(--red);color:var(--red);}
.price-inputs{display:flex;align-items:center;gap:8px;margin-top:12px;}
.price-inputs input{flex:1;min-width:0;padding:9px 10px;border-radius:10px;border:1.5px solid var(--line2);background:var(--sf2);font-family:inherit;font-size:.78rem;font-weight:700;color:var(--ink);text-align:center;}
.price-inputs span{color:var(--ink3);font-size:.7rem;}

/* product grid */
.pgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;}
@media(min-width:620px){.pgrid{grid-template-columns:repeat(3,1fr);}}
@media(min-width:1180px){.pgrid{grid-template-columns:repeat(4,1fr);}}
.pgrid .pcard{width:auto;}
.plp-empty{text-align:center;padding:54px 20px;color:var(--ink3);grid-column:1/-1;}
.plp-empty svg{width:54px;height:54px;color:var(--line2);margin:0 auto 14px;}
.plp-empty b{display:block;color:var(--ink);font-size:1rem;margin-bottom:6px;}

/* active chips */
.active-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
.active-chips:empty{display:none;}
.achip{display:flex;align-items:center;gap:6px;padding:6px 8px 6px 12px;border-radius:999px;background:var(--red-soft);color:var(--red);font-size:.76rem;font-weight:700;}
.achip a,.achip button{display:flex;width:16px;height:16px;color:var(--red);}
.achip svg{width:12px;height:12px;}

/* pagination */
.pagination{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:32px;}
.pagination .page-numbers,.pg-row{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap;padding:0;list-style:none;}
.pg,.page-numbers .page-numbers{min-width:38px;height:38px;border-radius:11px;border:1.5px solid var(--line);background:var(--sf);font-weight:700;font-size:.84rem;color:var(--ink2);display:flex;align-items:center;justify-content:center;transition:.2s;padding:0 6px;}
.pg:hover,.page-numbers a.page-numbers:hover{border-color:var(--red);color:var(--red);}
.pg.active,.page-numbers .page-numbers.current{background:var(--red);color:#fff;border-color:var(--red);}
.pg.nav svg{width:15px;height:15px;}
.pg.dis{opacity:.4;pointer-events:none;}

/* mobile filter drawer */
.fdrov{position:fixed;inset:0;background:rgba(20,22,25,.52);opacity:0;pointer-events:none;transition:opacity .3s;z-index:115;}
.fdrov.open{opacity:1;pointer-events:auto;}
.fdrw{position:absolute;top:0;right:0;height:100%;width:90%;max-width:350px;background:var(--bg);transform:translateX(105%);transition:transform .34s cubic-bezier(.22,.7,.3,1);display:flex;flex-direction:column;}
.fdrov.open .fdrw{transform:translateX(0);}
.fdr-top{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--line);background:#fff;flex:none;}
.fdr-top h2{font-size:1rem;font-weight:800;}
.fdr-body{flex:1;overflow-y:auto;padding:16px;}
.fdr-foot{padding:14px 16px;border-top:1px solid var(--line);background:#fff;display:flex;gap:10px;flex:none;}
.fdr-foot .btn{flex:1;}

/* SEO + FAQ */
.seo-box{background:var(--sf);border:1px solid var(--line);border-radius:var(--r2);padding:24px;margin-top:36px;}
.seo-box h2{font-size:1.1rem;font-weight:800;margin-bottom:12px;}
.seo-body{font-size:.85rem;color:var(--ink2);line-height:1.9;max-height:104px;overflow:hidden;position:relative;transition:max-height .4s;}
.seo-body.open{max-height:1400px;}
.seo-body h3{font-size:.95rem;margin:16px 0 6px;color:var(--ink);font-weight:800;}
.seo-fade{position:absolute;bottom:0;left:0;right:0;height:54px;background:linear-gradient(transparent,var(--sf));transition:opacity .3s;}
.seo-body.open .seo-fade{opacity:0;}
.seo-more{margin-top:14px;font-weight:800;color:var(--red);font-size:.83rem;background:none;display:flex;align-items:center;gap:6px;}
.seo-more svg{width:14px;height:14px;transition:transform .28s;}
.seo-more.open svg{transform:rotate(180deg);}
.faq{margin-top:20px;}
.faq h2{font-size:1.1rem;font-weight:800;margin-bottom:14px;}
.faq-item{background:var(--sf);border:1px solid var(--line);border-radius:14px;margin-bottom:10px;overflow:hidden;}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;padding:16px 18px;font-weight:700;font-size:.88rem;text-align:start;gap:12px;}
.faq-q svg{width:16px;height:16px;color:var(--ink3);flex:none;transition:transform .28s;}
.faq-item.open .faq-q svg{transform:rotate(180deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .32s;}
.faq-a-in{padding:0 18px 16px;font-size:.82rem;color:var(--ink2);line-height:1.85;}
