/* TopiaryTree — shop page (shop-v2.css), on top of cat-v2.css. */
.tt-shophead__trust{display:flex;flex-wrap:wrap;gap:6px 22px;list-style:none;margin:12px 0 0;padding:0;font-size:.9375rem;color:#3a403c;}
.tt-shophead__trust li{display:flex;align-items:center;gap:8px;}
.tt-shophead__trust li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--tt-green-700,#2f5a3a);}
.tt-shophead__ranges{margin-top:24px;}
.tt-shophead__chips{display:grid;gap:10px;margin:18px 0 4px;}
.tt-shophead__row{display:flex;align-items:center;gap:12px;min-width:0;}
.tt-shophead__lab{flex:0 0 84px;font-size:var(--tt-t-sm,.875rem);color:var(--tt-muted,#6b716c);}
.tt-shophead__scroll{display:flex;flex-wrap:wrap;gap:8px;min-width:0;}
.tt-shopv2 .tt-shopcta{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:0;align-items:stretch;background:#f6f5f0;border-radius:6px;overflow:hidden;margin:8px 0;}
.tt-shopcta__img{min-height:260px;}
.tt-shopcta__img img{width:100%;height:100%;object-fit:cover;display:block;}
.tt-shopcta__txt{padding:32px 36px;display:flex;flex-direction:column;justify-content:center;gap:10px;font-family:var(--tt-sans);}
.tt-shopcta__eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tt-green-700,#2f5a3a);}
.tt-shopcta__txt h2{font-family:var(--tt-serif);font-weight:500;font-size:clamp(1.5rem,1.25rem + .8vw,2rem);line-height:1.15;margin:0;}
.tt-shopcta__txt p{margin:0;font-size:1rem;line-height:1.65;color:#2d352f;max-width:52ch;}
.tt-shopcta__btns{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:6px;}
.tt-shopcta__link{font-weight:600;color:var(--tt-green-700,#2f5a3a) !important;text-decoration:underline;text-underline-offset:3px;}
.tt-shopfaq{margin-left:auto;margin-right:auto;}
@media (max-width:767px){
  .tt-shophead__trust{font-size:.875rem;gap:4px 16px;}
  .tt-shophead__row{align-items:flex-start;flex-direction:column;gap:6px;}
  .tt-shophead__lab{flex:none;}
  .tt-shophead__scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px 4px;width:calc(100% + 32px);}
  .tt-shophead__scroll::-webkit-scrollbar{display:none;}
  .tt-shophead__scroll .tt-chip{flex:0 0 auto;}
  .tt-shopv2 .tt-shopcta{grid-template-columns:1fr;}
  .tt-shopcta__img{min-height:0;aspect-ratio:3/2;}
  .tt-shopcta__txt{padding:22px 18px 24px;}
}
/* The grid is a flex row in this theme: the card takes a whole line either way. */
.tt-shopv2 .products-wrap > .tt-shopcta{flex:0 0 100% !important;max-width:100% !important;width:100% !important;grid-column:1/-1;}
.tt-shopcta .tt-btn{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 22px;border-radius:4px;border:0;cursor:pointer;font:600 .9375rem/1 var(--tt-sans);}
.tt-shopcta .tt-btn--primary{background:var(--tt-green-900,#23392b);color:#fff !important;}
.tt-shopcta .tt-btn--primary:hover{background:#1a2b20;}
/* Landing view: categories first. */
.tt-shopcats{margin:8px 0 8px;font-family:var(--tt-sans);}
.tt-shopcats__group{margin:0 0 40px;}
.tt-shopcats__h{font-family:var(--tt-serif);font-weight:500;font-size:clamp(1.4rem,1.2rem + .7vw,1.85rem);line-height:1.2;margin:0 0 16px;}
.tt-shopcats__h--best{margin:48px 0 18px;}
.tt-shopcats__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
.tt-shopcat{display:flex;flex-direction:column;background:#fff;border:1px solid var(--tt-line,#e4e6e1);border-radius:6px;overflow:hidden;text-decoration:none !important;color:var(--tt-ink,#1f2a22) !important;transition:box-shadow .2s ease,transform .2s ease;}
.tt-shopcat:hover{box-shadow:0 6px 18px rgba(0,0,0,.08);transform:translateY(-2px);}
.tt-shopcat__img{display:block;aspect-ratio:4/3;background:#eef0ec;overflow:hidden;}
.tt-shopcat__img img{width:100%;height:100%;object-fit:cover;display:block;}
.tt-shopcat__body{display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px;flex:1;}
.tt-shopcat__body b{font-family:var(--tt-serif);font-weight:500;font-size:1.2rem;line-height:1.2;}
.tt-shopcat__body span{font-size:.9375rem;line-height:1.5;color:#3a403c;flex:1;}
.tt-shopcat__body em{font-style:normal;font-weight:600;font-size:.875rem;color:var(--tt-green-700,#2f5a3a);}
.tt-shopv2 .tt-shopcats + .tt-shopcta{margin:0 0 8px;}
.tt-shopcats__all{text-align:center;margin:28px 0 0;}
.tt-shopcats__all .tt-btn{display:inline-flex;align-items:center;height:48px;padding:0 26px;border-radius:4px;background:var(--tt-green-900,#23392b);color:#fff !important;font:600 .9375rem/1 var(--tt-sans);text-decoration:none;}
@media (max-width:1024px){ .tt-shopcats__grid{grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (max-width:767px){
  .tt-shopcats__grid{grid-template-columns:1fr 1fr;gap:12px;}
  .tt-shopcat__body{padding:10px 12px 12px;}
  .tt-shopcat__body b{font-size:1.05rem;}
  .tt-shopcat__body span{font-size:.8125rem;}
  .tt-shopcats__group{margin-bottom:28px;}
}
@media (min-width:1025px){ .tt-shopcats__grid[data-n="5"]{grid-template-columns:repeat(5,minmax(0,1fr));} .tt-shopcats__grid[data-n="5"] .tt-shopcat__body span{font-size:.875rem;} }
@media (max-width:767px){ .tt-shopcats__grid[data-n="5"] .tt-shopcat:last-child{grid-column:1/-1;} .tt-shopcats__grid[data-n="5"] .tt-shopcat:last-child .tt-shopcat__img{aspect-ratio:2/1;} }

/* ---- Shop hero, animal tiles, need tiles (v3, 23 Sep 2026) ---- */
.tt-shophero{font-family:var(--tt-sans);background:#f4f2ec;border-radius:10px;margin:18px 0 28px;overflow:hidden;}
.tt-shophero__inner{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:stretch;min-height:440px;}
.tt-shophero.is-compact .tt-shophero__inner{grid-template-columns:1fr;min-height:0;}
.tt-shophero__text{padding:40px 44px;display:flex;flex-direction:column;justify-content:center;gap:16px;}
.tt-shophero.is-compact .tt-shophero__text{padding:26px 32px;}
.tt-shophero__h1{font-family:var(--tt-serif);font-weight:500;font-size:clamp(2.2rem,1.6rem + 2.2vw,3.4rem);line-height:1.04;letter-spacing:-.01em;margin:0;color:var(--tt-ink,#1f2a22);}
.tt-shophero__lede{margin:0;font-size:1.125rem;line-height:1.6;color:#39413b;max-width:44ch;}
.tt-shophero__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px;}
.tt-shophero__btn{display:inline-flex;align-items:center;justify-content:center;height:50px;padding:0 24px;border-radius:4px;border:1px solid var(--tt-green-900,#23392b);background:transparent;color:var(--tt-green-900,#23392b) !important;font:600 1rem/1 var(--tt-sans);text-decoration:none !important;cursor:pointer;}
.tt-shophero__btn.is-primary{background:var(--tt-green-900,#23392b);color:#fff !important;}
.tt-shophero__btn:hover{filter:brightness(1.12);}
.tt-shophero__trust{list-style:none;margin:10px 0 0;padding:16px 0 0;border-top:1px solid rgba(35,57,43,.14);display:grid;grid-template-columns:repeat(3,auto);gap:10px 22px;justify-content:start;}
.tt-shophero__trust li{display:flex;align-items:center;gap:8px;font-size:.875rem;line-height:1.3;color:#2d352f;}
.tt-shophero__trust svg{flex:0 0 auto;color:var(--tt-green-700,#2f5a3a);}
.tt-shophero__mosaic{display:grid;grid-template-columns:3fr 2fr;grid-template-rows:1fr 1fr;gap:6px;padding:6px 6px 6px 0;}
.tt-shophero__tile{overflow:hidden;border-radius:6px;background:#e7e9e3;}
.tt-shophero__tile.t0{grid-row:1/3;}
.tt-shophero__tile img{width:100%;height:100%;object-fit:cover;display:block;}
.tt-shopanimals{margin:0 0 26px;font-family:var(--tt-sans);}
.tt-shopanimals__head{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 12px;}
.tt-shopanimals__head h2{font-family:var(--tt-serif);font-weight:500;font-size:clamp(1.3rem,1.15rem + .6vw,1.7rem);margin:0;}
.tt-shopanimals__head a{font-weight:600;font-size:.9rem;color:var(--tt-green-700,#2f5a3a) !important;text-decoration:none;}
.tt-shopanimals__row{display:flex;gap:18px;overflow-x:auto;scrollbar-width:thin;padding:2px 2px 10px;scroll-snap-type:x proximity;}
.tt-shopanimal{flex:0 0 auto;width:104px;display:flex;flex-direction:column;align-items:center;gap:8px;text-decoration:none !important;scroll-snap-align:start;}
.tt-shopanimal__img{width:96px;height:96px;border-radius:50%;overflow:hidden;background:#eef0ec;border:2px solid #fff;box-shadow:0 0 0 1px var(--tt-line,#e2e4de);transition:box-shadow .2s ease;}
.tt-shopanimal:hover .tt-shopanimal__img{box-shadow:0 0 0 2px var(--tt-green-900,#23392b);}
.tt-shopanimal__img img{width:100%;height:100%;object-fit:cover;display:block;}
.tt-shopanimal__lab{font-size:.9rem;font-weight:500;color:var(--tt-ink,#1f2a22);}
.tt-shopneeds{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:0 0 40px;font-family:var(--tt-sans);}
.tt-shopneed{display:flex;align-items:center;gap:12px;padding:14px 14px;border:1px solid var(--tt-line,#e2e4de);border-radius:8px;background:#fff;text-decoration:none !important;transition:border-color .2s ease,box-shadow .2s ease;}
.tt-shopneed:hover{border-color:var(--tt-green-900,#23392b);box-shadow:0 4px 12px rgba(0,0,0,.05);}
.tt-shopneed__ic{flex:0 0 40px;height:40px;border-radius:50%;background:#eef2ec;color:var(--tt-green-700,#2f5a3a);display:flex;align-items:center;justify-content:center;}
.tt-shopneed__t{display:flex;flex-direction:column;gap:2px;min-width:0;}
.tt-shopneed__t b{font-size:.95rem;color:var(--tt-ink,#1f2a22);line-height:1.2;}
.tt-shopneed__t small{font-size:.8rem;color:#5d645f;line-height:1.3;}
@media (max-width:1180px){ .tt-shopneeds{grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (max-width:900px){
  .tt-shophero__inner{grid-template-columns:1fr;min-height:0;}
  .tt-shophero__mosaic{order:-1;grid-template-columns:2fr 1fr;height:260px;padding:6px 6px 0;}
  .tt-shophero__text{padding:22px 20px 24px;}
  .tt-shophero__trust{grid-template-columns:1fr;}
}
@media (max-width:767px){
  .tt-shophero{margin:10px -16px 22px;border-radius:0;}
  .tt-shophero__mosaic{height:220px;}
  .tt-shophero__lede{font-size:1rem;}
  .tt-shophero__btn{flex:1 1 auto;}
  .tt-shopanimals__row{margin:0 -16px;padding:2px 16px 10px;gap:12px;}
  .tt-shopanimal{width:84px;} .tt-shopanimal__img{width:76px;height:76px;} .tt-shopanimal__lab{font-size:.82rem;}
  .tt-shopneeds{grid-template-columns:1fr 1fr;gap:8px;}
  .tt-shopneed{padding:10px;gap:10px;} .tt-shopneed__ic{flex-basis:34px;height:34px;}
}
/* Every range, by shape */
.tt-shopsubs{margin:44px 0 0;font-family:var(--tt-sans);}
.tt-shopsubs__group{margin:0 0 28px;}
.tt-shopsubs__group h3{margin:0 0 12px;font-size:1rem;font-weight:600;}
.tt-shopsubs__group h3 a{color:var(--tt-ink,#1f2a22) !important;text-decoration:none;}
.tt-shopsubs__group h3 a:hover{color:var(--tt-green-700,#2f5a3a) !important;}
.tt-shopsubs__grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;}
.tt-shopsub{display:flex;flex-direction:column;border-radius:6px;overflow:hidden;background:#fff;border:1px solid var(--tt-line,#e4e6e1);text-decoration:none !important;transition:box-shadow .2s ease;}
.tt-shopsub:hover{box-shadow:0 5px 14px rgba(0,0,0,.07);}
.tt-shopsub__img{display:block;aspect-ratio:1/1;background:#eef0ec;overflow:hidden;}
.tt-shopsub__img img{width:100%;height:100%;object-fit:cover;display:block;}
.tt-shopsub__b{display:flex;flex-direction:column;gap:2px;padding:10px 12px 12px;}
.tt-shopsub__b b{font-size:.95rem;line-height:1.25;color:var(--tt-ink,#1f2a22);}
.tt-shopsub__b small{font-size:.8rem;color:#5d645f;}
@media (max-width:1024px){ .tt-shopsubs__grid{grid-template-columns:repeat(4,minmax(0,1fr));} }
@media (max-width:767px){ .tt-shopsubs__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;} }
/* v4: one catalog, three departments of four; shapes as links on each card */
.tt-shopcats__grid,.tt-shopcats__grid[data-n="5"]{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:20px;}
.tt-shopcats__group{margin:0 0 44px;}
.tt-shopcats__group .tt-shopcats__h{display:flex;align-items:center;gap:14px;}
.tt-shopcats__group .tt-shopcats__h::after{content:"";flex:1;height:1px;background:var(--tt-line,#e2e4de);}
.tt-shopcat{position:relative;}
.tt-shopcat:hover{transform:none;}
.tt-shopcat__img{display:block;aspect-ratio:4/3;}
.tt-shopcat__img img{transition:transform .5s ease;}
.tt-shopcat:hover .tt-shopcat__img img{transform:scale(1.04);}
.tt-shopcat__body{gap:8px;padding:16px 18px 18px;}
.tt-shopcat__body h3{margin:0;font-family:var(--tt-serif);font-weight:500;font-size:1.25rem;line-height:1.2;}
.tt-shopcat__body h3 a{color:var(--tt-ink,#1f2a22) !important;text-decoration:none;}
.tt-shopcat__body p{margin:0;font-size:.9375rem;line-height:1.5;color:#3a403c;flex:1;}
.tt-shopcat__shapes{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px;}
.tt-shopcat__shapes a{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:14px;background:#f1f2ee;font-size:.8125rem;color:#2d352f !important;text-decoration:none;}
.tt-shopcat__shapes a:hover{background:var(--tt-green-900,#23392b);color:#fff !important;}
.tt-shopcat__all{margin-top:4px;font-weight:600;font-size:.875rem;color:var(--tt-green-700,#2f5a3a) !important;text-decoration:none;}
.tt-shopcats__group .tt-shopcat:only-child{grid-column:auto;}
.tt-shopcats__all{margin:36px 0 8px;}
@media (max-width:1024px){ .tt-shopcats__grid,.tt-shopcats__grid[data-n="5"]{grid-template-columns:repeat(2,minmax(0,1fr)) !important;} }
@media (max-width:767px){
  .tt-shopcats__grid,.tt-shopcats__grid[data-n="5"]{gap:12px;}
  .tt-shopcat__body{padding:10px 12px 12px;gap:6px;}
  .tt-shopcat__body h3{font-size:1.05rem;}
  .tt-shopcat__body p{font-size:.8125rem;}
  .tt-shopcat__shapes a{height:26px;padding:0 8px;font-size:.75rem;}
}
.tt-shopcat__body p{flex:0 0 auto;}
.tt-shopcat__all{margin-top:auto;padding-top:6px;}
.tt-shophero__rating{margin:2px 0 0;display:flex;align-items:center;gap:8px;font-size:.95rem;color:#2d352f;}
.tt-shophero__rating .tt-stars{font-size:1.05rem;letter-spacing:1px;}
.tt-shophero__rating b{color:var(--tt-ink,#1f2a22);}

/* ---- Phone layout for every age: no sideways scrolling, big type, big targets ---- */
.tt-shopanimals__more{display:none;}
@media (max-width:767px){
  .tt-shophero__h1{font-size:2.1rem;}
  .tt-shophero__lede{font-size:1.0625rem;}
  .tt-shophero__btn{height:54px;font-size:1.0625rem;}
  .tt-shophero__trust li{font-size:1rem;}
  .tt-shophero__rating{font-size:1rem;flex-wrap:wrap;}

  /* animals: 8 at a glance, then one clear button */
  .tt-shopanimals__head a{display:none;}
  .tt-shopanimals__row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 8px;overflow:visible;margin:0;padding:0;}
  .tt-shopanimal{width:auto;}
  .tt-shopanimal:nth-child(n+9){display:none;}
  .tt-shopanimal__img{width:72px;height:72px;}
  .tt-shopanimal__lab{font-size:.95rem;}
  .tt-shopanimals__more{display:flex;align-items:center;justify-content:center;height:50px;margin:16px 0 0;border:1px solid var(--tt-green-900,#23392b);border-radius:6px;font-weight:600;font-size:1rem;color:var(--tt-green-900,#23392b) !important;text-decoration:none;}

  /* needs: bigger text */
  .tt-shopneed{min-height:64px;}
  .tt-shopneed__t b{font-size:1rem;}
  .tt-shopneed__t small{font-size:.85rem;}

  /* categories: one full-width row each */
  .tt-shopcats__grid,.tt-shopcats__grid[data-n="5"]{grid-template-columns:1fr !important;gap:12px;}
  .tt-shopcats__h{font-size:1.5rem;}
  .tt-shopcat{display:grid;grid-template-columns:96px 1fr;grid-template-areas:"img body";align-items:stretch;border-radius:10px;}
  .tt-shopcat__img{grid-area:img;aspect-ratio:auto;height:100%;min-height:112px;}
  .tt-shopcat__body{grid-area:body;padding:12px 40px 12px 14px;gap:4px;position:relative;}
  .tt-shopcat__body::after{content:"";position:absolute;right:16px;top:22px;width:10px;height:10px;border-right:2px solid #5d645f;border-top:2px solid #5d645f;transform:rotate(45deg);}
  .tt-shopcat__body h3{font-size:1.2rem;}
  .tt-shopcat__body h3 a::before{content:"";position:absolute;inset:0;}
  .tt-shopcat{position:relative;}
  .tt-shopcat__body p{font-size:.95rem;line-height:1.45;}
  .tt-shopcat__all{display:none;}
  .tt-shopcat__shapes{position:relative;z-index:1;gap:8px;margin-top:8px;}
  .tt-shopcat__shapes a{height:40px;padding:0 14px;border-radius:20px;font-size:.95rem;background:#eef0ea;}
  .tt-shopcats__all .tt-btn{width:100%;justify-content:center;height:54px;font-size:1rem;}
}
