/* Layout safeguards shared by all WordPress and WooCommerce templates. */
body{display:block;min-width:0}
body>.site-header,body>main,body>.site-footer{min-width:0;max-width:100%}
.site-header{position:relative;z-index:30}
.header-main>*{min-width:0}
.site-header .store-search{min-width:0;height:48px}
.site-header .store-search:focus-within{outline:3px solid var(--orange);outline-offset:3px}
.site-header .store-search input{font-size:16px;min-width:0}
.site-header .store-search button{width:44px;height:44px;top:1px;right:1px;font-size:27px}
.site-header .store-search input{padding-right:54px}
.page-content h1,.page-content h2,.prose,.fnl-care,.fnl-filter-active,.fnl-catalog-note,.woocommerce-message,.woocommerce-error,.woocommerce-info{overflow-wrap:anywhere}
.page-content h1{font-size:clamp(26px,4vw,40px);line-height:1.2}
.fnl-filter-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr) auto}
.fnl-filter-form input,.fnl-filter-form select{font-size:16px}
.fnl-filter-form>*,.fnl-filter-heading>*,.footer-grid>*,.hero-copy,.story-copy{min-width:0}
.fnl-filter-heading{flex-wrap:wrap}
.fnl-filter-heading h2{font-size:clamp(22px,3vw,28px)}
.woocommerce .woocommerce-ordering select{max-width:100%;min-height:44px;font-size:16px}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 24px;padding:0}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{float:none!important;width:auto!important;min-width:0;margin:0!important;display:flex;flex-direction:column;align-items:flex-start}
.woocommerce ul.products li.product>a.woocommerce-LoopProduct-link{display:block;width:100%;min-width:0}
.woocommerce ul.products li.product a img{width:100%;aspect-ratio:1;object-fit:contain}
.woocommerce ul.products li.product .button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;max-width:100%;padding:10px 14px;white-space:normal;font-size:13px;margin-top:auto!important}
.woocommerce ul.products li.product .price{font-size:16px}
.woocommerce div.product .product_title{font-size:clamp(25px,3vw,36px);overflow-wrap:anywhere;line-height:1.3}
.woocommerce div.product .summary,.woocommerce div.product div.images{min-width:0}
.woocommerce div.product div.images img{width:100%;height:auto}
.woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;flex-wrap:wrap;gap:8px;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li{margin:0;max-width:100%;white-space:normal}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{min-height:44px;display:flex;align-items:center}
.woocommerce table.shop_attributes{table-layout:fixed;width:100%}
.woocommerce table.shop_attributes th{width:35%}
.woocommerce table.shop_attributes td{overflow-wrap:anywhere}
.woocommerce input.input-text,.woocommerce select,.woocommerce textarea,.fnl-care-form input,.fnl-care-form select,.fnl-care-form textarea{font-size:16px;max-width:100%;min-height:44px}
.woocommerce button.button,.woocommerce a.button,.woocommerce input.button{min-height:44px;white-space:normal}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{min-height:46px;padding:12px}
.woocommerce form .password-input{min-width:0;max-width:100%}
.woocommerce nav.woocommerce-pagination ul{display:flex;flex-wrap:wrap;justify-content:center;border:0;gap:5px}
.woocommerce nav.woocommerce-pagination ul li{border:1px solid var(--line)}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}
.footer-grid a{display:inline-block;min-height:36px;padding:6px 0;overflow-wrap:anywhere}
.footer-bottom{flex-wrap:wrap;font-size:11px}
.mega-menu{z-index:40;overscroll-behavior:contain}
.mega-menu a{min-height:44px;display:flex;align-items:center}
.hero-actions{flex-wrap:wrap}
.hero-actions .text-link{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:1100px){
 .needs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .needs-grid>*{min-width:0}
 .navigation nav{gap:16px}
 .header-main{gap:16px}
 .fnl-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}
 .fnl-filter-form .button{width:100%}
 .woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 18px}
}
@media(max-width:1023px){
 .navigation nav{overflow:visible;position:static;flex-wrap:wrap}
 .navigation{position:relative}
 .navigation .nav-pet,.navigation .nav-story{display:none}
 .browse-menu{width:100%}
 .browse-menu>summary{border:0;min-height:46px;padding:10px 0}
 .browse-menu>summary span{display:inline}
 .mega-menu{grid-template-columns:repeat(2,minmax(0,1fr));left:0;right:0;top:100%;padding:20px;gap:20px;max-height:calc(100dvh - 210px);overflow:auto}
 .mega-feature{display:none}
 .mobile-quick-links{display:flex;flex-wrap:wrap;grid-column:1/-1;gap:10px 20px;border-top:1px solid var(--line);padding-top:12px}
 .woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:800px){
 .woocommerce div.product div.images,.woocommerce div.product div.summary{float:none;width:100%;margin:0 0 24px}
 .woocommerce div.product div.images{max-width:580px;margin-left:auto;margin-right:auto}
 .woocommerce .woocommerce-MyAccount-navigation,.woocommerce .woocommerce-MyAccount-content{float:none;width:100%}
 .woocommerce .woocommerce-MyAccount-navigation ul{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none}
 .woocommerce .woocommerce-MyAccount-navigation a{display:block;padding:12px}
}
@media(max-width:760px){
 .site-header .header-main{gap:10px;padding:12px 0}
 .site-header .store-search{flex-basis:100%;width:100%;order:3;height:48px}
 .site-header .store-search button{height:44px;width:44px}
 .site-header .logo{width:196px;max-width:calc(100% - 65px)}
 .site-header .cart-button{min-width:44px;min-height:44px}
 .fnl-filter-panel{padding:18px}
 .fnl-filter-heading{display:block}
 .fnl-filter-heading .text-link{display:inline-flex;align-items:center;min-height:44px;font-size:13px}
 .fnl-filter-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .fnl-filter-form fieldset,.fnl-filter-form .button{grid-column:1/-1}
 .fnl-filter-form input,.fnl-filter-form select{font-size:16px;min-height:48px}
 .fnl-filter-form .button{min-height:48px}
 .fnl-filter-active{font-size:13px;line-height:1.7}
 .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}
 .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:14px;line-height:20px}
 .woocommerce .woocommerce-ordering{float:none;display:block;margin:0 0 22px;max-width:100%}
 .woocommerce .woocommerce-ordering select{width:100%}
 .woocommerce .woocommerce-result-count{float:none;display:block;font-size:14px}
 .footer-grid a{min-height:44px;font-size:13px}
 .footer-brand{min-width:0}
 .footer-bottom{gap:10px}
 .hero p,.story-copy p,.fnl-buying-details p{font-size:15px}
 .hero-actions .button{min-height:48px}
 .page-content{padding-top:30px}
 .woocommerce form .form-row-first,.woocommerce form .form-row-last{float:none;width:100%}
 .woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{float:none;width:100%}
}
@media(max-width:480px){
 .fnl-filter-form{grid-template-columns:minmax(0,1fr)}
 .fnl-filter-form fieldset,.fnl-filter-form .button{grid-column:auto}
 .hero-actions{flex-direction:column;align-items:stretch;gap:8px}
 .hero-actions .text-link{justify-content:center}
 .hero{padding:26px 20px}
 .fnl-buying-details dl>div{grid-template-columns:minmax(0,1fr)}
 .fnl-product-help-links{gap:12px}
 .woocommerce .woocommerce-message,.woocommerce .woocommerce-info,.woocommerce .woocommerce-error{padding-right:16px}
}
@media(max-width:359px){
 .shell{width:92%}
 .woocommerce ul.products{gap:24px 12px}
 .woocommerce ul.products li.product .button{font-size:12px;padding:10px}
 .hero h1{font-size:37px}
 .footer-grid{grid-template-columns:minmax(0,1fr)}
 .footer-brand{grid-column:auto}
}
@media(max-height:550px) and (max-width:1023px){
 .browse-menu[open] .mega-menu{position:relative;top:auto;max-height:65dvh;margin:0 0 12px;width:100%}
}
.fnl-price-help{font-size:13px;color:#526e71;margin:14px 0 0}
.fnl-filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.fnl-filter-chips a{display:inline-flex;align-items:center;gap:10px;min-height:44px;max-width:100%;padding:8px 13px;background:#fff;border:1px solid #bed8cd;border-radius:22px;font-size:13px;color:#175b50;overflow-wrap:anywhere}
.fnl-filter-chips a:hover{border-color:#0f6b65;background:#f6fbf8}
.fnl-filter-chips span{font-size:19px;line-height:1}
.fnl-filter-total{margin:16px 0 0;font-size:14px;line-height:1.8}
.fnl-filter-total a{color:var(--teal);text-decoration:underline;text-underline-offset:3px;margin-left:8px;display:inline-flex;align-items:center;min-height:44px}
.fnl-no-results{padding:24px;background:#f8faf7;border:1px solid var(--line);border-radius:14px;margin:20px 0}
.fnl-no-results h2{font-size:23px}
.fnl-no-results .button{margin:6px 6px 0 0;min-height:44px}
#fnl-results{clear:both;scroll-margin-top:20px}
