/* =========================================================
   TopiaryTree — category page, products first (cat-v2.css)
   Loaded only where TT_Cat_Layout applies. See the class for why.
   Targets from the Sep 2026 teardown: first product under ~600px on a
   phone and ~750px on desktop (it was 2,138 / 1,973).
   ========================================================= */

/* The parent's title band: its H1 is removed in PHP and the header below
   prints the breadcrumb, so the empty band goes. */
body.tt-catv2.woocommerce #page-title.pls-page-title,
body.tt-catv2 #page-title{display:none !important;}

/* ---------------- HEADER ---------------- */
.tt-cathead{font-family:var(--tt-sans);padding:22px 0 8px;}
.tt-cathead__crumbs{display:flex;flex-wrap:wrap;gap:6px;font-size:var(--tt-t-sm);color:var(--tt-muted);margin-bottom:10px;}
.tt-cathead__crumbs a{color:var(--tt-muted) !important;text-decoration:none;}
.tt-cathead__crumbs a:hover{color:var(--tt-ink) !important;text-decoration:underline;}
.tt-cathead__crumbs span[aria-hidden]{color:var(--tt-faint);}
.tt-cathead__crumbs [aria-current]{color:var(--tt-ink);}
.tt-cathead__h1{font-family:var(--tt-serif);font-weight:500;font-size:clamp(1.75rem,1.3rem + 1.6vw,2.5rem);
  line-height:1.1;letter-spacing:-.01em;color:var(--tt-ink);margin:0 0 10px;text-wrap:balance;}
.tt-cathead__answer{max-width:none;width:100%;}
.tt-cathead__answer p{margin:0;font-size:clamp(1.125rem,1rem + .45vw,1.3125rem);font-weight:600;line-height:1.55;color:var(--tt-ink,#1f2a22);letter-spacing:-.005em;}
.tt-cathead__answer a{color:var(--tt-green-700);text-decoration:underline;text-underline-offset:2px;}
.tt-cathead__more{display:none;border:0;background:none;padding:4px 0 0;font:600 .875rem/1.4 var(--tt-sans);
  color:var(--tt-green-700);text-decoration:underline;text-underline-offset:2px;cursor:pointer;}

/* Circles: subcategories, or the parent's, under the H1. */
.tt-cathead__nav{display:flex;gap:22px;margin:22px 0 4px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;}
.tt-cathead__nav::-webkit-scrollbar{display:none;}
.tt-circ{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:8px;width:104px;text-decoration:none;
  color:var(--tt-ink) !important;font-size:.875rem;font-weight:500;text-align:center;line-height:1.25;}
.tt-circ__img{width:96px;height:96px;border-radius:50%;overflow:hidden;background:#efede8;display:block;
  border:2px solid transparent;transition:border-color .2s;}
.tt-circ__img img{width:100%;height:100%;object-fit:cover;display:block;}
.tt-circ:hover .tt-circ__img,.tt-circ.is-current .tt-circ__img{border-color:var(--tt-green-900);}
.tt-circ.is-current .tt-circ__lab{font-weight:700;}

/* Chips: the animal pages, for animal ranges with no subcategories. */
.tt-cathead__chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0 2px;}
.tt-cathead__chipslab{font-size:var(--tt-t-sm);color:var(--tt-muted);margin-right:4px;}
.tt-chip{display:inline-flex;align-items:center;height:36px;padding:0 14px;border:1px solid var(--tt-line);border-radius:18px;
  background:#fff;color:var(--tt-ink) !important;font-size:.875rem;text-decoration:none;white-space:nowrap;}
.tt-chip:hover{border-color:var(--tt-green-900);}
.tt-chip--all{border-color:transparent;background:none;text-decoration:underline;text-underline-offset:2px;}

/* ---------------- FILTER ROW ---------------- */
.tt-catv2 .tt-shop-toolbar,
.tt-catv2 .pls-active-filters:empty{display:none !important;}
.tt-cf{font-family:var(--tt-sans);margin:14px 0 22px;border-top:1px solid var(--tt-line);border-bottom:1px solid var(--tt-line);}
.tt-cf__bar{display:none;}
.tt-cf__sheet{display:flex;align-items:flex-end;gap:12px;padding:12px 0;}
.tt-cf__sheethead{display:none;}
.tt-cf__fields{display:flex;align-items:flex-end;gap:12px;flex:1;flex-wrap:wrap;}
.tt-cf__field{display:flex;flex-direction:column;gap:4px;margin:0;}
.tt-cf__field > span{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tt-muted);}
.tt-cf select,.tt-cf input{height:42px;border:1px solid var(--tt-line);border-radius:3px;background:#fff;color:var(--tt-ink);
  font:15px var(--tt-sans);padding:0 12px;min-width:150px;box-sizing:border-box;}
.tt-cf__price > div{display:flex;gap:6px;}
.tt-cf__price input{width:96px;min-width:0;}
.tt-cf__sort{margin-left:auto;}
.tt-cf__actions{display:flex;align-items:center;gap:14px;}
.tt-cf__apply{height:42px;padding:0 18px;border:1px solid var(--tt-green-900);background:var(--tt-green-900);color:#fff;
  border-radius:3px;font:600 14px var(--tt-sans);cursor:pointer;white-space:nowrap;}
.tt-cf__clear{font-size:.875rem;color:var(--tt-ink) !important;text-decoration:underline;white-space:nowrap;}
.tt-cf__chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0 0 12px;}
.tt-cf__chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:16px;
  background:var(--tt-green-900);color:#fff !important;font-size:.8125rem;text-decoration:none;}
.tt-cf__clearlink{font-size:.8125rem;color:var(--tt-ink) !important;text-decoration:underline;}

/* ---------------- GRID + CARDS ---------------- */
.tt-catv2.woocommerce .products-wrap{grid-template-columns:repeat(4,1fr) !important;gap:36px 20px !important;}
.tt-catv2 .tt-card{border:0;background:transparent;}
.tt-catv2 .tt-card__media{background:#fff;border:1px solid var(--tt-hairline);}
.tt-catv2 .tt-card__body{padding:12px 2px 0;border-top:0;gap:6px;}
.tt-catv2 .tt-card__eyebrow{display:none;}
.tt-catv2 .tt-card__title,.tt-catv2 .tt-card__title a{font-family:var(--tt-sans) !important;font-weight:500;font-size:.9375rem;line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em;}
.tt-catv2 .tt-card__height{font-size:.8125rem;color:var(--tt-muted);}
.tt-catv2 .tt-card__price{font-size:1.0625rem;font-weight:600;}
.tt-catv2 .tt-card__cta{padding-top:10px;}
.tt-catv2 .tt-card .button,
.tt-catv2 .tt-card__btn{letter-spacing:.02em !important;text-transform:none !important;font-size:.875rem !important;
  font-weight:600 !important;padding:11px 12px !important;border-radius:3px !important;}

/* Pagination and the copy under the grid keep their existing styles. */

/* ---------------- TABLET ---------------- */
@media (max-width:1100px){
  .tt-catv2.woocommerce .products-wrap{grid-template-columns:repeat(3,1fr) !important;}
}

/* ---------------- PHONE ---------------- */
@media (max-width:900px){
  .tt-cathead{padding:14px 0 4px;}
  .tt-cathead__crumbs{font-size:.8125rem;margin-bottom:6px;}
  .tt-cathead__answer p{font-size:1.0625rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
  .tt-cathead__answer.is-open p{display:block;-webkit-line-clamp:unset;overflow:visible;}
  .tt-cathead__more{display:inline-block;}
  .tt-cathead__nav{gap:14px;margin:14px -16px 0;padding:0 16px 4px;}
  .tt-circ{width:76px;font-size:.8125rem;}
  .tt-circ__img{width:68px;height:68px;}
  .tt-cathead__chips{flex-wrap:nowrap;overflow-x:auto;margin:12px -16px 0;padding:0 16px 4px;scrollbar-width:none;}
  .tt-cathead__chipslab{display:none;}

  /* One bar; the fields open as a full-screen sheet. */
  .tt-cf{position:sticky;top:0;z-index:30;background:var(--tt-bg);margin:10px -16px 16px;padding:0 16px;}
  .tt-cf__bar{display:flex;align-items:center;justify-content:space-between;height:50px;}
  .tt-cf__open{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border:1px solid var(--tt-ink);
    border-radius:3px;background:#fff;color:var(--tt-ink);font:600 14px var(--tt-sans);}
  .tt-cf__count{font-size:.875rem;color:var(--tt-muted);}
  .tt-cf__sheet{display:none;}
  /* The sticky row makes its own stacking context, so it has to rise with
     the sheet, above the header and the bottom bar. */
  .tt-cf.is-open{z-index:2147483000;}
  .tt-cf.is-open .tt-cf__sheet{display:flex;flex-direction:column;align-items:stretch;gap:0;position:fixed;inset:0;z-index:2147483000;
    background:var(--tt-bg);padding:0;overflow:auto;}
  .tt-cf__sheethead{display:flex;align-items:center;justify-content:space-between;padding:10px 8px 10px 16px;
    border-bottom:1px solid var(--tt-line);font-size:1.0625rem;}
  .tt-cf__close{width:44px;height:44px;border:0;background:none;font-size:28px;line-height:1;color:var(--tt-ink);}
  .tt-cf__fields{flex-direction:column;align-items:stretch;gap:18px;padding:18px 16px;flex:1 0 auto;}
  .tt-cf select,.tt-cf input{width:100%;height:48px;font-size:16px;}
  .tt-cf__price input{width:100%;}
  .tt-cf__sort{margin-left:0;}
  .tt-cf__actions{flex-direction:column;gap:12px;padding:14px 16px 24px;border-top:1px solid var(--tt-line);background:#fff;position:sticky;bottom:0;}
  .tt-cf__apply{width:100%;height:50px;font-size:16px;}
  .tt-cf__chips{padding:0 0 10px;}

  .tt-catv2.woocommerce .products-wrap{grid-template-columns:repeat(2,1fr) !important;gap:26px 12px !important;}
  .tt-catv2 .tt-card__title{font-size:.875rem;}
  .tt-catv2 .tt-card__price{font-size:1rem;}
}
body.tt-cf-lock{overflow:hidden;}

/* =========================================================
   UNDER THE GRID
   ========================================================= */
.tt-catv2 .pls-pagination,.tt-catv2 .woocommerce-pagination{margin:40px 0 8px;}
.tt-catv2 .pls-pagination .page-numbers,.tt-catv2 .woocommerce-pagination .page-numbers{min-width:44px;height:44px;line-height:42px;
  border-radius:3px;font-family:var(--tt-sans);font-size:.9375rem;}

/* Help band */
.tt-cathelp{margin:40px 0 0;background:var(--tt-green-900);color:#fff;border-radius:4px;font-family:var(--tt-sans);}
.tt-cathelp__inner{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:32px 40px;}
.tt-cathelp__h{font-family:var(--tt-serif);font-weight:500;font-size:clamp(1.35rem,1.1rem + .8vw,1.75rem);color:#fff;margin:0 0 6px;}
.tt-cathelp p{margin:0;color:#d5dbd2;font-size:1rem;line-height:1.55;max-width:60ch;}
.tt-cathelp__cta{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0;}
.tt-cathelp__btn{height:50px;padding:0 28px;border:1px solid var(--tt-bg);background:var(--tt-bg);color:var(--tt-green-900);
  border-radius:3px;font:600 15px var(--tt-sans);cursor:pointer;white-space:nowrap;}
.tt-cathelp__btn:hover{background:#fff;}
.tt-cathelp__tel{color:#d5dbd2 !important;font-size:.875rem;text-decoration:underline;text-underline-offset:2px;}

/* Buying guide */
.tt-guide2{margin:64px 0 0;font-family:var(--tt-sans);color:var(--tt-ink);}
.tt-guide2__head{max-width:78ch;}
.tt-guide2__eyebrow{display:block;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#7a5c2e;margin-bottom:8px;}
.tt-guide2__h{font-family:var(--tt-serif);font-weight:500;font-size:clamp(1.6rem,1.3rem + 1vw,2.1rem);line-height:1.15;margin:0 0 14px;}
.tt-guide2__lead{font-size:1.0625rem;line-height:1.65;color:#2d352f;margin:0 0 12px;}
.tt-guide2__facts{display:flex;flex-wrap:wrap;gap:0;margin:20px 0 16px;border:1px solid var(--tt-line);border-radius:4px;background:#fff;width:fit-content;}
.tt-guide2__facts > div{padding:12px 24px;border-right:1px solid var(--tt-line);}
.tt-guide2__facts > div:last-child{border-right:0;}
.tt-guide2__facts dt{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tt-muted);margin:0;}
.tt-guide2__facts dd{margin:2px 0 0;font-family:var(--tt-serif);font-size:1.375rem;font-weight:500;}
.tt-guide2__links{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 0;font-size:.875rem;}
.tt-guide2__links span{color:var(--tt-muted);}
.tt-guide2__links a{display:inline-flex;align-items:center;height:34px;padding:0 14px;border:1px solid var(--tt-line);border-radius:17px;
  background:#fff;color:var(--tt-ink) !important;text-decoration:none;}
.tt-guide2__links a:hover{border-color:var(--tt-green-900);}

.tt-guide2__body{display:grid;grid-template-columns:240px minmax(0,1fr);gap:48px;margin-top:40px;padding-top:32px;border-top:1px solid var(--tt-line);}
.tt-guide2__toc{position:sticky;top:90px;align-self:start;display:flex;flex-direction:column;gap:2px;font-size:.9375rem;}
.tt-guide2__toc b{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tt-muted);margin-bottom:8px;}
.tt-guide2__toc a{color:var(--tt-ink) !important;text-decoration:none;padding:6px 0 6px 12px;border-left:2px solid var(--tt-line);line-height:1.35;}
.tt-guide2__toc a:hover{border-left-color:var(--tt-green-900);}
.tt-guide2__secs{max-width:72ch;}
.tt-guide2__sec{border-bottom:1px solid var(--tt-line);padding:0 0 8px;margin:0 0 8px;}
.tt-guide2__sec--open{border-bottom:0;padding-bottom:12px;}
.tt-guide2__sec summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0 6px;}
.tt-guide2__sec summary::-webkit-details-marker{display:none;}
.tt-guide2__sec summary::after{content:"";width:10px;height:10px;border-right:2px solid var(--tt-ink);border-bottom:2px solid var(--tt-ink);
  transform:rotate(45deg);transition:transform .2s;flex-shrink:0;margin-top:-4px;}
.tt-guide2__sec[open] summary::after{transform:rotate(-135deg);margin-top:4px;}
.tt-guide2__sec summary h3{font-family:var(--tt-serif);font-weight:500;font-size:1.375rem;line-height:1.25;margin:0;color:var(--tt-ink);}
.tt-guide2__secs p,.tt-guide2__secs li{font-size:1rem;line-height:1.7;color:#2d352f;}
.tt-guide2__secs p{margin:0 0 14px;}
.tt-guide2__secs h4{font-size:1.0625rem;font-weight:600;margin:18px 0 6px;color:var(--tt-ink);}
.tt-guide2__secs ul{margin:4px 0 16px;padding-left:1.2em;}
.tt-guide2__secs li{margin:2px 0;}
.tt-guide2__secs li::marker{color:var(--tt-brass);}
.tt-guide2__secs a{color:var(--tt-green-700) !important;text-decoration:underline;text-underline-offset:2px;}

/* FAQ accordion */
.tt-catfaq2{margin:56px 0 0;font-family:var(--tt-sans);max-width:900px;}
.tt-catfaq2 h2{font-family:var(--tt-serif);font-weight:500;font-size:clamp(1.5rem,1.25rem + .8vw,1.9rem);margin:0 0 12px;}
.tt-catfaq2 details{border-bottom:1px solid var(--tt-line);}
.tt-catfaq2 summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;}
.tt-catfaq2 summary::-webkit-details-marker{display:none;}
.tt-catfaq2 summary::after{content:"+";font-size:1.5rem;font-weight:300;line-height:1;color:var(--tt-ink);flex-shrink:0;}
.tt-catfaq2 details[open] summary::after{content:"\2212";}
.tt-catfaq2 summary h3{font-family:var(--tt-sans);font-size:1.0625rem;font-weight:600;margin:0;line-height:1.4;}
.tt-catfaq2 details > div{padding:0 0 16px;}
.tt-catfaq2 details > div p{margin:0 0 10px;font-size:1rem;line-height:1.65;color:#2d352f;}
.tt-catfaq2 a{color:var(--tt-green-700) !important;text-decoration:underline;}

/* Explore more */
.tt-catmore{margin:56px 0 24px;font-family:var(--tt-sans);}
.tt-catmore h2{font-family:var(--tt-serif);font-weight:500;font-size:clamp(1.5rem,1.25rem + .8vw,1.9rem);margin:0 0 18px;}
.tt-catmore__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;}
.tt-catmore__card{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--tt-ink) !important;}
.tt-catmore__img{aspect-ratio:4/3;overflow:hidden;border-radius:4px;background:#efede8;margin-bottom:8px;}
.tt-catmore__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;}
.tt-catmore__card:hover img{transform:scale(1.03);}
.tt-catmore__lab{font-weight:600;font-size:1rem;}
.tt-catmore__n{font-size:.875rem;color:var(--tt-muted);}

@media (max-width:900px){
  .tt-cathelp{margin:28px -16px 0;border-radius:0;}
  .tt-cathelp__inner{flex-direction:column;align-items:stretch;gap:18px;padding:26px 20px;}
  .tt-cathelp__cta{align-items:stretch;}
  .tt-cathelp__btn{width:100%;}
  .tt-guide2{margin-top:40px;}
  .tt-guide2__lead{font-size:1rem;}
  .tt-guide2__facts{width:100%;}
  .tt-guide2__facts > div{flex:1;padding:10px 12px;}
  .tt-guide2__facts dd{font-size:1.125rem;}
  .tt-guide2__body{grid-template-columns:1fr;gap:0;margin-top:24px;padding-top:8px;}
  .tt-guide2__toc{display:none;}
  .tt-guide2__sec summary h3{font-size:1.1875rem;}
  .tt-catfaq2,.tt-catmore{margin-top:40px;}
  .tt-catmore__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
}

/* ---------------- DESIGN PASS 2 (astra second opinion, 23 Sep) ---------------- */
/* One reading column: the side menu is gone at this length. */
.tt-guide2__body{display:block;max-width:72ch;}
/* Cards: one frame, not a border plus inner padding. */
.tt-catv2 .tt-card__media{border:0;background:#f7f6f2;border-radius:3px;}
.tt-catv2 .tt-card__media img{padding:6px;}
/* Animal chips narrow the range; the current one is filled. */
.tt-chip span{margin-left:6px;font-size:.75rem;color:var(--tt-muted);}
.tt-chip.is-on{background:var(--tt-green-900);border-color:var(--tt-green-900);color:#fff !important;}
.tt-chip.is-on span{color:#cfd6cb;}
@media (max-width:900px){
  /* The phone's top call strip, slimmer on the pages people shop from. */
  body.tt-catv2 .pls-header-topbar{padding-top:4px !important;padding-bottom:4px !important;min-height:0 !important;}
  body.tt-catv2 .pls-header-topbar *{line-height:1.3 !important;}
  .tt-cathelp__inner{padding:20px 18px;gap:14px;}
  .tt-cathelp__h{font-size:1.25rem;}
  .tt-cathelp p{font-size:.9375rem;}
}

/* Breed row (astra, 23 Sep): chips wrap instead of scrolling sideways, 44px targets on phones,
   and the full list sits in a labelled select. */
.tt-cathead__chips--breeds{flex-wrap:wrap;}
.tt-breedpick{display:inline-flex;align-items:center;gap:8px;margin-left:4px;}
.tt-breedpick label{font-size:var(--tt-t-sm);color:var(--tt-muted);}
.tt-breedpick select{height:44px;padding:0 36px 0 12px;border:1px solid var(--tt-line);border-radius:22px;background-color:#fff;font:inherit;font-size:.95rem;}
@media (max-width:900px){
  .tt-cathead__chips--breeds{flex-wrap:wrap;overflow:visible;margin:10px 0 0;padding:0;}
  .tt-cathead__chips--breeds .tt-cathead__chipslab{display:inline;}
  .tt-chip{height:48px;padding:0 16px;font-size:1rem;}
  .tt-cf__chip{height:44px;padding:0 14px;font-size:.95rem;}
  .tt-breedpick{width:100%;margin:4px 0 0;}
  .tt-breedpick select{flex:1;height:48px;}
}
