/* Ton Atelier — Product Finder (v3.12.0)
   Self-contained; scoped under .tac-pf so it won't fight the theme. */
.tac-pf{
  --pf-ink:#0C0D10; --pf-ink2:#16181D; --pf-paper:#fff; --pf-paper2:#F6F5F2; --pf-paper3:#EDEBE6;
  --pf-line:rgba(12,13,16,.10); --pf-line2:rgba(12,13,16,.06); --pf-muted:#5C606B; --pf-muted2:#8A8F9A;
  --pf-heat:#FF4A1C; --pf-heat-soft:#FFF0EA; --pf-thread-soft:#E6F4F2; --pf-gold-soft:#FFF7E0;
  --pf-r:14px; --pf-rl:22px;
  --pf-ease:cubic-bezier(.2,.7,.2,1);
  --pf-sh-s:0 1px 2px rgba(12,13,16,.05),0 4px 12px rgba(12,13,16,.05);
  --pf-sh-m:0 2px 4px rgba(12,13,16,.05),0 14px 34px rgba(12,13,16,.10);
  color:var(--pf-ink);
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  line-height:1.6;
}
.tac-pf *{box-sizing:border-box}
.tac-pf h2,.tac-pf h3{letter-spacing:-.03em;line-height:1.08;font-weight:800;margin:0}
.tac-pf .tac-pf-empty{color:var(--pf-muted)}

.tac-pf-eyebrow{font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--pf-heat);display:inline-flex;align-items:center;gap:8px;margin-bottom:10px}
.tac-pf-eyebrow::before{content:"";width:20px;height:2px;background:currentColor}
.tac-pf-sub{color:var(--pf-muted);font-size:16px;max-width:62ch;margin:0 0 26px}

/* ── decision guide ── */
.tac-pf-guide{background:var(--pf-paper2);border:1px solid var(--pf-line);border-radius:var(--pf-rl);padding:38px 30px;margin:0 0 26px}
.tac-pf-guide h2{font-size:clamp(23px,3vw,32px);margin:6px 0 8px}
.tac-pf-gcards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:960px){.tac-pf-gcards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.tac-pf-gcards{grid-template-columns:1fr}}
.tac-pf-gcard{background:#fff;border:1px solid var(--pf-line);border-radius:var(--pf-r);padding:22px 20px}
.tac-pf-gnum{width:28px;height:28px;border-radius:8px;background:var(--pf-ink);color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px;margin-bottom:14px}
.tac-pf-gcard h3{font-size:17px;margin-bottom:7px}
.tac-pf-gcard p{font-size:13.5px;color:var(--pf-muted);margin:0 0 13px}
.tac-pf-ans{font-size:13px;display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--pf-line2);padding-top:12px}
.tac-pf-ans b{font-weight:700}

/* ── filters ── */
.tac-pf-tools{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:14px 0;margin:0 0 6px;border-bottom:1px solid var(--pf-line);position:sticky;top:0;z-index:5;background:rgba(255,255,255,.94);backdrop-filter:blur(12px)}
.tac-pf-flabel{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pf-muted2)}
.tac-pf-chip{font-size:13.5px;font-weight:600;padding:8px 15px;border-radius:999px;border:1.5px solid var(--pf-line);background:#fff;transition:.2s var(--pf-ease);white-space:nowrap;cursor:pointer;color:var(--pf-ink)}
.tac-pf-chip:hover{border-color:var(--pf-ink)}
.tac-pf-chip.on{background:var(--pf-ink);color:#fff;border-color:var(--pf-ink)}
.tac-pf-count{margin-left:auto;font-size:13.5px;color:var(--pf-muted);font-weight:600}
@media(max-width:700px){.tac-pf-count{margin-left:0;width:100%}}

/* ── tiers ── */
.tac-pf-tier{padding:34px 0 6px}
.tac-pf-tier-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:4px}
.tac-pf-tier-head h2{font-size:clamp(21px,2.6vw,29px)}
.tac-pf-tier-sub{color:var(--pf-muted);font-size:15px;max-width:70ch;margin:0 0 22px}
.tac-pf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:1040px){.tac-pf-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:660px){.tac-pf-grid{grid-template-columns:1fr}}

/* ── card ── */
.tac-pf-card{border:1px solid var(--pf-line);border-radius:var(--pf-rl);background:#fff;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s var(--pf-ease),box-shadow .3s var(--pf-ease),border-color .3s}
.tac-pf-card:hover{transform:translateY(-5px);box-shadow:var(--pf-sh-m);border-color:transparent}
.tac-pf-card.tac-pf-hide{display:none}
.tac-pf-media{aspect-ratio:1/1;position:relative;background:var(--pf-paper2);display:grid;place-items:center;overflow:hidden}
.tac-pf-media img{width:100%;height:100%;object-fit:contain;padding:34px}
.tac-pf-tee{width:72%}
.tac-pf-swatches{position:absolute;bottom:12px;left:12px;display:flex;gap:4px;align-items:center}
.tac-pf-sw{width:15px;height:15px;border-radius:50%;border:1.5px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.22)}
.tac-pf-sw-more{font-size:11px;font-weight:700;color:var(--pf-muted);background:#fff;border-radius:999px;padding:2px 7px;box-shadow:var(--pf-sh-s)}
.tac-pf-body{padding:18px 19px 20px;display:flex;flex-direction:column;flex:1}
.tac-pf-nick{font-size:18px;font-weight:800;letter-spacing:-.025em;margin-bottom:3px;line-height:1.15}
.tac-pf-sku{font-size:12.5px;color:var(--pf-muted2);font-weight:600;margin-bottom:13px}
.tac-pf-specs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--pf-line2);border:1px solid var(--pf-line2);border-radius:10px;overflow:hidden;margin-bottom:13px}
.tac-pf-spec{background:#fff;padding:9px 6px;text-align:center}
.tac-pf-spec b{display:block;font-size:14px;font-weight:800;letter-spacing:-.02em}
.tac-pf-spec span{font-size:10px;color:var(--pf-muted2);font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.tac-pf-bestfor{font-size:13.5px;color:var(--pf-muted);background:var(--pf-paper2);border-radius:9px;padding:10px 12px;margin-bottom:12px;line-height:1.45}
.tac-pf-bestfor b{color:var(--pf-ink);font-weight:700}
.tac-pf-tcompat{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;padding:9px 11px;border-radius:9px;margin-bottom:15px;line-height:1.35}
.tac-pf-tc-ok{background:var(--pf-thread-soft);color:#0B5C56}
.tac-pf-tc-warn{background:var(--pf-gold-soft);color:#6B4E00}
.tac-pf-tc-care{background:var(--pf-heat-soft);color:#B32E0D}
.tac-pf-tcompat svg{flex-shrink:0}
.tac-pf-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:13px;border-top:1px solid var(--pf-line2)}
.tac-pf-price{font-size:12.5px;color:var(--pf-muted)}
.tac-pf-price b{font-size:19px;color:var(--pf-ink);letter-spacing:-.03em}
.tac-pf-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 17px;border-radius:999px;font-weight:700;font-size:13.5px;background:var(--pf-ink);color:#fff;transition:.25s var(--pf-ease)}
.tac-pf-btn:hover{background:var(--pf-heat);color:#fff}

/* ── comparison table ── */
.tac-pf-compare{background:var(--pf-paper2);border:1px solid var(--pf-line);border-radius:var(--pf-rl);padding:40px 30px;margin:44px 0 0}
.tac-pf-compare h2{font-size:clamp(23px,3vw,34px);margin:6px 0 8px}
.tac-pf-tablewrap{background:#fff;border:1px solid var(--pf-line);border-radius:var(--pf-r);overflow:hidden;box-shadow:var(--pf-sh-s)}
.tac-pf-tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tac-pf-table{border-collapse:collapse;width:100%;min-width:900px;font-size:13.5px}
.tac-pf-table thead th{background:var(--pf-ink);color:#fff;font-weight:700;font-size:12px;letter-spacing:.05em;text-transform:uppercase;padding:14px;text-align:left;white-space:nowrap;cursor:pointer;user-select:none;position:sticky;top:0}
.tac-pf-table thead th:hover{background:var(--pf-ink2)}
.tac-pf-table thead th::after{content:"▲▼";opacity:.32;margin-left:5px;font-size:9px}
.tac-pf-table thead th.tac-pf-sorted::after{opacity:1;color:var(--pf-heat)}
.tac-pf-table tbody td{padding:12px 14px;border-bottom:1px solid var(--pf-line2);vertical-align:middle}
.tac-pf-table tbody tr:hover{background:var(--pf-paper2)}
.tac-pf-table tbody tr.tac-pf-hide{display:none}
.tac-pf-tname{font-weight:700;letter-spacing:-.02em;font-size:14px;white-space:nowrap}
.tac-pf-tsku{font-size:11.5px;color:var(--pf-muted2);font-weight:600}
.tac-pf-num{font-weight:700;font-size:14.5px;letter-spacing:-.02em;white-space:nowrap}
.tac-pf-tag{display:inline-block;font-size:11px;font-weight:700;padding:4px 9px;border-radius:999px;white-space:nowrap}
.tac-pf-g-ok{background:var(--pf-thread-soft);color:#0B5C56}
.tac-pf-g-warn{background:var(--pf-gold-soft);color:#6B4E00}
.tac-pf-g-care{background:var(--pf-heat-soft);color:#B32E0D}
.tac-pf-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:16px;font-size:13px;color:var(--pf-muted)}
.tac-pf-legend>span{display:flex;align-items:center;gap:7px}

/* Archive takeover: hide the default WooCommerce grid + controls on finder categories
   (belt-and-suspenders alongside the server-side buffer removal). */
body.tac-finder-archive ul.products,
body.tac-finder-archive .woocommerce-result-count,
body.tac-finder-archive .woocommerce-ordering,
body.tac-finder-archive nav.woocommerce-pagination,
body.tac-finder-archive .woocommerce-pagination { display: none !important; }

/* Corner ribbon (per-product) — top-left of the card image */
.tac-pf-flag{position:absolute;top:13px;left:13px;z-index:3;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;padding:6px 11px;border-radius:7px;box-shadow:var(--pf-sh-s);line-height:1.1}
.tac-pf-flag-gold{background:#F5B301;color:#231A00}
.tac-pf-flag-dark{background:var(--pf-ink);color:#fff}
.tac-pf-flag-heat{background:var(--pf-heat);color:#fff}
.tac-pf-flag-green{background:#0F766E;color:#fff}

/* Hide the filter chip bar on small screens (it stacks and takes too much room);
   the category menu remains for navigation. */
@media(max-width:700px){ .tac-pf-tools{display:none} }
