/* TopiaryTree bespoke mega menu (mega.css). Desktop only; the phone menu is the theme's. */
.pls-header-navigation,.pls-header-main{position:relative;}
.tt-nav .menu > li.tt-has-mega{position:static !important;}
.pls-header-navigation .pls-header-col,.pls-header-navigation .container,.pls-header-navigation .row{position:static !important;}
.tt-nav .menu > li.tt-has-mega > .nav-link::after{content:"";display:inline-block;width:6px;height:6px;margin:0 0 3px 7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);opacity:.6;transition:transform .2s ease;}
.tt-nav .menu > li.tt-has-mega.is-open > .nav-link::after{transform:rotate(225deg);margin-bottom:-1px;}
.tt-mega{position:absolute;left:0;right:0;top:100%;z-index:9990;visibility:hidden;opacity:0;transform:translateY(6px);transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;pointer-events:none;}
.tt-nav li.tt-has-mega.is-open > .tt-mega,.tt-nav li.tt-has-mega:focus-within > .tt-mega{visibility:visible;opacity:1;transform:none;transition:opacity .18s ease,transform .18s ease;pointer-events:auto;}
.tt-mega__panel{max-width:1320px;margin:0 auto;background:#fbfaf6;border:1px solid #e6e3da;border-top:3px solid var(--tt-green-900,#23392b);border-radius:0 0 10px 10px;box-shadow:0 24px 48px -18px rgba(31,42,34,.28);font-family:var(--tt-sans,'Inter',sans-serif);text-transform:none;letter-spacing:0;text-align:left;}
.tt-mega__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.05fr);gap:8px 34px;padding:30px 34px 22px;}
.tt-mega__panel--animals .tt-mega__grid,.tt-mega__panel--custom .tt-mega__grid,.tt-mega__panel--guides .tt-mega__grid{grid-template-columns:minmax(0,2.6fr) minmax(0,1fr);}
.tt-mega__eyebrow{margin:0 0 12px;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8a6d3b;}
.tt-mega a{text-decoration:none !important;}
/* Shop: ranges with thumbnails and shapes */
.tt-mega__ranges{list-style:none;margin:0;padding:0;display:grid;gap:14px;}
.tt-mega__ranges li{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center;}
.tt-mega__thumb{display:block;width:56px;height:56px;border-radius:8px;overflow:hidden;background:#eceee8;}
.tt-mega__thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;}
.tt-mega__ranges li:hover .tt-mega__thumb img{transform:scale(1.08);}
.tt-mega__rtext{display:flex;flex-direction:column;gap:3px;min-width:0;}
.tt-mega__range{font-family:var(--tt-serif,Georgia,serif);font-size:1.05rem;font-weight:500;line-height:1.2;color:#1f2a22 !important;}
.tt-mega__range:hover{color:var(--tt-green-700,#2f5a3a) !important;}
.tt-mega__shapes{display:flex;flex-wrap:wrap;gap:2px 10px;}
.tt-mega__shapes a{font-size:.8rem;color:#5d645f !important;}
.tt-mega__shapes a:hover{color:#1f2a22 !important;text-decoration:underline !important;}
/* feature card */
.tt-mega__col--feature{display:flex;flex-direction:column;gap:12px;}
.tt-mega__feature{display:flex;flex-direction:column;border-radius:10px;overflow:hidden;background:#fff;border:1px solid #e6e3da;}
.tt-mega__feature-img{display:block;aspect-ratio:16/10;overflow:hidden;}
.tt-mega__feature-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.tt-mega__feature:hover .tt-mega__feature-img img{transform:scale(1.04);}
.tt-mega__feature-body{display:flex;flex-direction:column;gap:4px;padding:14px 16px 16px;}
.tt-mega__feature-body small{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8a6d3b;}
.tt-mega__feature-body b{font-family:var(--tt-serif,Georgia,serif);font-weight:500;font-size:1.2rem;color:#1f2a22;line-height:1.2;}
.tt-mega__feature-body span{font-size:.875rem;line-height:1.45;color:#4a524c;}
.tt-mega__feature-body em{font-style:normal;font-weight:600;font-size:.85rem;color:var(--tt-green-700,#2f5a3a);margin-top:2px;}
.tt-mega__quick,.tt-mega__list{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.tt-mega__quick a,.tt-mega__list a{font-size:.95rem;color:#1f2a22 !important;font-weight:500;}
.tt-mega__quick a::after{content:" \2192";color:#8a6d3b;}
.tt-mega__list a:hover,.tt-mega__quick a:hover{color:var(--tt-green-700,#2f5a3a) !important;}
/* Animals */
.tt-mega__animals{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:14px;}
.tt-mega__animal{display:flex;flex-direction:column;align-items:center;gap:8px;}
.tt-mega__animal span{width:84px;height:84px;border-radius:50%;overflow:hidden;background:#eceee8;box-shadow:0 0 0 1px #e2e0d8;transition:box-shadow .2s ease;}
.tt-mega__animal span img{width:100%;height:100%;object-fit:cover;display:block;}
.tt-mega__animal:hover span{box-shadow:0 0 0 2px var(--tt-green-900,#23392b);}
.tt-mega__animal b{font-size:.9rem;font-weight:500;color:#1f2a22;}
.tt-mega__more-animals{margin:20px 0 0;padding-top:16px;border-top:1px solid #e6e3da;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.9rem;}
.tt-mega__more-animals span{color:#8a6d3b;font-weight:600;}
.tt-mega__more-animals a{color:#1f2a22 !important;}
.tt-mega__more-animals a:hover{text-decoration:underline !important;}
.tt-mega__all{font-weight:600;color:var(--tt-green-700,#2f5a3a) !important;margin-left:auto;}
/* Custom and trade */
.tt-mega__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.tt-mega__card{display:flex;flex-direction:column;gap:6px;}
.tt-mega__card-img{display:block;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:#eceee8;}
.tt-mega__card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.tt-mega__card:hover .tt-mega__card-img img{transform:scale(1.04);}
.tt-mega__card b{font-family:var(--tt-serif,Georgia,serif);font-weight:500;font-size:1.15rem;color:#1f2a22;margin-top:4px;}
.tt-mega__card span:last-child{font-size:.875rem;line-height:1.45;color:#4a524c;}
.tt-mega__ask{display:inline-flex;align-items:center;justify-content:center;height:44px;margin-top:16px;padding:0 18px;border-radius:4px;background:var(--tt-green-900,#23392b);color:#fff !important;font-weight:600;font-size:.9rem;cursor:pointer;border:0;}
/* Guides */
.tt-mega__guides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 26px;}
.tt-mega__guide{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:center;}
.tt-mega__guide span{width:64px;height:64px;border-radius:8px;overflow:hidden;background:#eceee8;}
.tt-mega__guide span img{width:100%;height:100%;object-fit:cover;display:block;}
.tt-mega__guide b{font-family:var(--tt-serif,Georgia,serif);font-weight:500;font-size:1rem;line-height:1.3;color:#1f2a22;}
.tt-mega__guide:hover b{color:var(--tt-green-700,#2f5a3a);}
/* footer strip */
.tt-mega__foot{display:flex;flex-wrap:wrap;gap:6px 26px;align-items:center;padding:12px 34px;border-top:1px solid #e6e3da;background:#f4f2ec;border-radius:0 0 10px 10px;font-size:.84rem;color:#4a524c;}
.tt-mega__foot b{color:#8a6d3b;}
.tt-mega__foot a{margin-left:auto;font-weight:600;color:#1f2a22 !important;}
@media (max-width:1280px){ .tt-mega__animals{grid-template-columns:repeat(4,minmax(0,1fr));} .tt-mega__grid{padding:24px 26px 18px;gap:8px 24px;} }
@media (prefers-reduced-motion:reduce){ .tt-mega,.tt-mega *{transition:none !important;} }

/* v2 (23 Sep 2026): one catalog on desktop. Browse Categories got 23 clicks in 60 days against
   243 for the main menu, and duplicated Shop with different names; the menu takes the row. */
@media (min-width:1025px){
  .pls-header-navigation .pls-header-col-left{display:none !important;}
  .pls-header-navigation .pls-header-col-center{flex:0 0 100% !important;max-width:100% !important;}
  .pls-header-navigation .pls-header-col-right{display:none !important;}
  .tt-nav{width:100%;}
  .tt-nav .menu{display:flex !important;align-items:center;justify-content:flex-start;gap:4px;width:100%;}
  .tt-nav .menu > li > .nav-link{padding-left:14px !important;padding-right:14px !important;}
  .tt-nav .menu > li:first-child > .nav-link{padding-left:0 !important;}
  .tt-nav-cta{margin-left:auto;display:flex;align-items:center;gap:18px;}
  .tt-nav-cta__phone{font-weight:600;font-size:.9rem;color:#1f2a22 !important;text-decoration:none;letter-spacing:.01em;}
  .tt-nav-cta__btn{display:inline-flex;align-items:center;height:40px;padding:0 18px;border-radius:4px;background:var(--tt-green-900,#23392b);color:#fff !important;font-weight:600;font-size:.85rem;letter-spacing:.02em;text-decoration:none;text-transform:none;}
  .tt-nav-cta__btn:hover{filter:brightness(1.15);}
}
.tt-mega__cards[data-n="4"]{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.tt-mega__cards[data-n="4"] .tt-mega__card b{font-size:1.02rem;}

/* ---- Phone menu (tt-mnav): one tree, search first, big rows, one level at a time ---- */
.tt-mnav.pls-mobile-menu{width:min(100vw,440px) !important;max-width:100vw !important;}
.tt-mnav .pls-mobile-menu-wrap{display:flex;flex-direction:column;height:100%;background:#fbfaf6;font-family:var(--tt-sans,'Inter',sans-serif);}
.tt-mnav__head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px !important;border-bottom:1px solid #e6e3da;background:#fff;}
.tt-mnav__head .pls-mobile-logo{max-height:34px;width:auto;}
.tt-mnav__close{display:inline-flex !important;align-items:center;gap:6px;height:44px;padding:0 14px;border:1px solid #d8d5cc;border-radius:22px;font-size:1rem !important;font-weight:600;color:#1f2a22 !important;text-decoration:none;text-transform:none !important;position:static !important;}
.tt-mnav__close span{font-size:1.3rem;line-height:1;}
.tt-mnav__search{display:flex;gap:8px;padding:14px 16px;border-bottom:1px solid #e6e3da;}
.tt-mnav__search input{flex:1;min-width:0;height:48px;padding:0 14px;border:1px solid #cfccc2;border-radius:8px;font-size:1rem;background:#fff;}
.tt-mnav__search button{height:48px;padding:0 16px;border:0;border-radius:8px;background:var(--tt-green-900,#23392b);color:#fff;font-weight:600;font-size:1rem;}
.tt-mnav__panels{flex:1;overflow-y:auto;overscroll-behavior:contain;position:relative;}
.tt-mnav__panel{display:none;animation:ttmnav .18s ease;}
.tt-mnav__panel.is-active{display:block;}
.tt-mnav__panel[data-dir="back"]{animation-name:ttmnavback;}
@keyframes ttmnav{from{transform:translateX(24px);opacity:.3}to{transform:none;opacity:1}}
@keyframes ttmnavback{from{transform:translateX(-24px);opacity:.3}to{transform:none;opacity:1}}
.tt-mnav__panel ul{list-style:none;margin:0;padding:0;}
.tt-mnav__panel li{border-bottom:1px solid #ebe8e0;margin:0;}
.tt-mnav__row{display:flex;align-items:center;gap:14px;width:100%;min-height:56px;padding:8px 18px;border:0;background:none;text-align:left;font-size:1.0625rem;font-weight:500;color:#1f2a22 !important;text-decoration:none;cursor:pointer;}
.tt-mnav__row span:last-of-type{flex:1;}
.tt-mnav__row i{width:10px;height:10px;border-right:2px solid #6b716c;border-top:2px solid #6b716c;transform:rotate(45deg);margin-right:4px;}
.tt-mnav__row:active{background:#efece4;}
.tt-mnav__row--all{font-weight:700;color:var(--tt-green-700,#2f5a3a) !important;}
.tt-mnav__th{flex:0 0 44px;width:44px;height:44px;border-radius:8px;overflow:hidden;background:#e7e9e3;}
.tt-mnav__th img{width:100%;height:100%;object-fit:cover;display:block;}
.tt-mnav__bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:12px;padding:8px 12px;background:#f4f2ec;border-bottom:1px solid #e6e3da;}
.tt-mnav__back{height:44px;padding:0 14px;border:1px solid #cfccc2;border-radius:22px;background:#fff;font-size:1rem;font-weight:600;color:#1f2a22;cursor:pointer;}
.tt-mnav__bar b{font-family:var(--tt-serif,Georgia,serif);font-weight:500;font-size:1.15rem;color:#1f2a22;}
.tt-mnav__foot{padding:14px 16px 18px;border-top:1px solid #e6e3da;background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.tt-mnav__foot a{display:flex;align-items:center;justify-content:center;height:50px;border-radius:8px;font-weight:600;font-size:1rem;text-decoration:none;}
.tt-mnav__call{border:1px solid var(--tt-green-900,#23392b);color:var(--tt-green-900,#23392b) !important;}
.tt-mnav__quote{background:var(--tt-green-900,#23392b);color:#fff !important;}
.tt-mnav__foot p{grid-column:1/-1;margin:0;text-align:center;font-size:.9rem;color:#5d645f;}
.tt-mnav .close-sidebar.tt-mnav__close::before,.tt-mnav .close-sidebar.tt-mnav__close::after{display:none !important;content:none !important;}
.tt-mnav .tt-mnav__close{width:auto !important;height:44px !important;line-height:1 !important;background:#fff !important;text-indent:0 !important;font-size:1rem !important;}
.tt-mnav__back{background:#fff !important;color:#1f2a22 !important;}
.tt-mega__panel--trade .tt-mega__grid{grid-template-columns:minmax(0,3fr) minmax(0,1fr);}

/* ---- v3 placement and accessibility ---- */
.tt-mega{position:fixed !important;left:0 !important;right:0 !important;top:var(--tt-mega-top,140px) !important;transform:none !important;padding:0 16px;max-height:calc(100vh - var(--tt-mega-top,140px) - 12px);overflow-y:auto;overscroll-behavior:contain;}
.tt-nav li.tt-has-mega.is-open > .tt-mega{transform:none;}
.tt-nav li.tt-has-mega:focus-within:not(.is-open) > .tt-mega{visibility:hidden;opacity:0;pointer-events:none;} /* open only via button/hover, never by stray focus */
.tt-mega__panel{width:min(1320px,100%);margin:0 auto;border-top:0;border-radius:0 0 12px 12px;}
.tt-mega-backdrop{position:fixed;left:0;right:0;bottom:0;top:var(--tt-mega-top,140px);background:rgba(20,28,22,.28);opacity:0;visibility:hidden;transition:opacity .18s ease,visibility 0s linear .18s;z-index:9980;}
body.tt-mega-open .tt-mega-backdrop{opacity:1;visibility:visible;transition:opacity .18s ease;}
/* the open item is joined to its panel: underline bar in brand green, no gap */
.tt-nav .menu > li.tt-has-mega{display:flex;align-items:center;}
.tt-nav .menu > li.tt-has-mega > .nav-link::after{display:none !important;}
.tt-nav .menu > li.tt-has-mega.is-open > .nav-link{color:var(--tt-green-900,#23392b) !important;}
.tt-nav .menu > li.tt-has-mega.is-open > .nav-link .pls-menu-text{box-shadow:inset 0 -2px 0 var(--tt-green-900,#23392b);}
.tt-mega__toggle{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-left:-8px;margin-right:4px;padding:0;border:0;background:none;cursor:pointer;color:inherit;border-radius:4px;}
.tt-mega__toggle::before{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.65;transition:transform .2s ease;}
.tt-nav li.is-open > .tt-mega__toggle::before{transform:translateY(2px) rotate(225deg);}
/* visible keyboard focus everywhere in the menu */
.tt-nav a:focus-visible,.tt-mega__toggle:focus-visible,.tt-mega a:focus-visible,.tt-mnav a:focus-visible,.tt-mnav button:focus-visible{outline:3px solid #8a6d3b !important;outline-offset:2px;border-radius:4px;}
/* small links get at least a 24px target */
.tt-mega__shapes a,.tt-mega__more-animals a,.tt-mega__list a,.tt-mega__quick a{display:inline-flex;align-items:center;min-height:24px;}
.screen-reader-text{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}
@media (max-width:1024px){ .tt-mega,.tt-mega-backdrop,.tt-mega__toggle{display:none !important;} }
/* v3.1: the panel matches the menu row exactly; the header sits above the dimmed page */
.tt-mega{padding:0 !important;}
.tt-mega__panel{width:var(--tt-mega-width,min(1320px,100%)) !important;max-width:none !important;margin:0 0 0 var(--tt-mega-left,16px) !important;}
.tt-mega__grid{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(260px,1.05fr);}
body.tt-mega-open .pls-header-navigation{position:relative;z-index:9995 !important;}
body.tt-mega-open header,body.tt-mega-open .pls-site-header,body.tt-mega-open .pls-header-wrapper{z-index:9995 !important;}
.tt-mega-backdrop{z-index:9000 !important;}
.tt-mega__feature-img{aspect-ratio:auto !important;height:clamp(150px,14vw,210px);} .tt-mega__card-img{aspect-ratio:auto !important;height:clamp(140px,12vw,200px);}

/* ---- Guard our buttons against the theme's global button:hover / button:focus colors ---- */
.tt-btn--primary,.tt-btn--primary:hover,.tt-btn--primary:focus,.tt-btn--primary:active{color:#fff !important;}
.tt-btn--primary:hover,.tt-btn--primary:focus-visible{filter:brightness(1.15);}
.tt-quoteband .tt-btn--primary,.tt-quoteband .tt-btn--primary:hover,.tt-quoteband .tt-btn--primary:focus,.tt-quoteband .tt-btn--primary:active{background:#7a5a24 !important;border-color:#7a5a24 !important;color:#fff !important;} /* 6.3:1 with white (astra: #9a7b45 was 3.97:1) */
.tt-quoteband .tt-btn--primary:hover{background:#654a1d !important;border-color:#654a1d !important;filter:none;}
.tt-quoteband .tt-btn--outline:hover,.tt-quoteband .tt-btn--outline:focus{background:#fff !important;color:#1f2a22 !important;}
.tt-eideas .tt-btn:focus{background:transparent;color:var(--tt-green-900,#23392b) !important;}
.tt-shophero__btn:hover,.tt-shophero__btn:focus{background:transparent;color:var(--tt-green-900,#23392b) !important;filter:none;}
.tt-shophero__btn.is-primary:hover,.tt-shophero__btn.is-primary:focus{background:#2d4736 !important;color:#fff !important;}
.tt-mega__ask:hover,.tt-mega__ask:focus,.tt-nav-cta__btn:hover,.tt-nav-cta__btn:focus{background:#2d4736 !important;color:#fff !important;filter:none;}
.tt-mega__toggle:hover,.tt-mega__toggle:focus,.tt-mega__toggle:active{background:transparent !important;color:inherit !important;box-shadow:none !important;}
/* phone menu rows are <button>s: keep them white rows in every state */
.tt-mnav button.tt-mnav__row,.tt-mnav button.tt-mnav__row:hover,.tt-mnav button.tt-mnav__row:focus,.tt-mnav button.tt-mnav__row:active{background:transparent !important;color:#1f2a22 !important;border:0 !important;box-shadow:none !important;border-radius:0 !important;}
.tt-mnav button.tt-mnav__row:active{background:#efece4 !important;}
.tt-mnav button.tt-mnav__row:focus-visible{outline:3px solid #8a6d3b !important;outline-offset:-3px;}
.tt-mnav .tt-mnav__back,.tt-mnav .tt-mnav__back:hover,.tt-mnav .tt-mnav__back:focus,.tt-mnav .tt-mnav__back:active{background:#fff !important;color:#1f2a22 !important;border:1px solid #cfccc2 !important;}
.tt-mnav__search button:hover,.tt-mnav__search button:focus{background:#2d4736 !important;color:#fff !important;}
/* Category help band: a <button>, so the theme's hover turned its text white on white. */
.tt-cathelp__btn,.tt-cathelp__btn:focus,.tt-cathelp__btn:active{background:#f7f5ef !important;border-color:#f7f5ef !important;color:#1f2a22 !important;}
.tt-cathelp__btn:hover{background:#ffffff !important;border-color:#ffffff !important;color:#1f2a22 !important;box-shadow:0 0 0 3px rgba(255,255,255,.25);}
.tt-cathelp__btn:focus-visible{outline:3px solid #c9a86a !important;outline-offset:2px;}
/* FAQ sections centered on the page (category, shop and animal pages). */
.tt-catfaq2,.tt-shopfaq{margin-left:auto !important;margin-right:auto !important;max-width:860px;}
.tt-catfaq2 h2{text-align:center;}
.tt-efaq .tt-sec-head{margin-left:auto !important;margin-right:auto !important;text-align:center;}
.tt-efaq__list{max-width:1040px;margin-left:auto;margin-right:auto;}

/* Product cards: see card.css. */
/* Bigger hit area for the dropdown arrows (astra: 24x24 is small for older shoppers); the
   negative margin keeps the menu row the same width. */
.tt-mega__toggle{width:36px;height:44px;margin-left:-14px;margin-right:-2px;}

/* Shapes under each range as chips, not faint grey words: "I can't see the ball category"
   (Boni, 23 Sep). Balls, Cones, Spirals read as places to go. */
.tt-mega__shapes{gap:6px;margin-top:6px;}
.tt-mega__shapes a{min-height:30px !important;padding:0 11px;border:1px solid #d8d5cc;border-radius:15px;
  font-size:.82rem !important;font-weight:500;color:#23342a !important;background:#fff;}
.tt-mega__shapes a:hover,.tt-mega__shapes a:focus-visible{border-color:#23342a;background:#23342a;color:#fff !important;text-decoration:none !important;}
/* Phone menu group labels ("By shape", "By range") */
.tt-mnav__group{padding:18px 18px 6px;font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#7a5a24;}
