@font-face{font-family:Lato;src:url('../fonts/lato-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Lato;src:url('../fonts/lato-bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}

:root{
  --green:#84c254;
  --accent:#007840;
  --accent-bright:#07824c;
  --text:#636363;
  --heading:#555;
  --border:#ececec;
  --footer:#273a25;
  --black:#0a0a0a;
  --container:1080px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--text);font-family:Lato,Arial,sans-serif;font-size:16px;line-height:1.6}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
button{cursor:pointer}
svg{display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.container{width:100%;max-width:var(--container);margin:0 auto;padding-left:15px;padding-right:15px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:12px;top:-60px;background:#fff;color:#111;padding:8px 12px;z-index:1000;box-shadow:0 2px 10px #0003}
.skip-link:focus{top:12px}

.topbar{height:60px;background:var(--green)}
.topbar-inner{height:100%;display:flex;align-items:center;justify-content:space-between}
.contact-lines{display:flex;flex-direction:column;font-size:12px;line-height:1.45;letter-spacing:.25px;text-transform:uppercase}
.contact-lines strong{color:#fff;font-weight:700}
.contact-lines a{color:#087544;font-weight:700}
.social-links{display:flex;align-items:center;gap:4px;color:#e8f2e2}
.social-links>a{width:29px;height:29px;border:2px solid rgba(255,255,255,.55);border-radius:5px;display:grid;place-items:center;font-size:19px;font-weight:700;line-height:1}
.social-links svg,.header-search-button svg{width:18px;height:18px;stroke-width:1.8}
.social-links .fill-dot,.footer-socials .fill-dot{fill:currentColor;stroke:none}
.header-search-button{width:34px;height:34px;border:0;background:transparent;color:#e8f2e2;display:grid;place-items:center;padding:0;margin-left:8px}

.masthead{height:110px;background:#fff}
.masthead-inner{height:110px;display:flex;align-items:center;border-bottom:1px solid var(--border)}
.brand{display:block;margin-right:auto}
.brand img{display:block;width:195px;height:auto}
.desktop-nav{display:flex;align-items:center;height:100%;gap:0;text-transform:uppercase;font-size:13px;color:#555}
.desktop-nav>a,.desktop-nav>button{position:relative;border:0;background:transparent;color:inherit;text-transform:uppercase;padding:14px 12px;white-space:nowrap}
.desktop-nav>a:not(:first-child)::before,.desktop-nav>button::before{content:"";position:absolute;left:0;top:50%;width:1px;height:16px;background:#e3e3e3;transform:translateY(-50%)}
.desktop-nav .active{font-weight:700;color:#333}
.desktop-nav .chevron{font-size:15px;margin-left:2px;color:#999}
.cart-link strong{font-weight:400}
.cart-bag{position:relative;width:29px;height:31px;margin-left:4px;border:2px solid var(--green);background:#fff;color:var(--green);display:grid;place-items:center;padding-top:3px}
.cart-bag::before{content:"";position:absolute;top:-9px;left:7px;width:11px;height:9px;border:2px solid var(--green);border-bottom:0;border-radius:10px 10px 0 0;background:#fff}
.cart-count{font-size:12px;line-height:1;color:#7ba953}
.mobile-menu-button,.mobile-menu{display:none}

.page-heading{height:69px;display:flex;align-items:center;justify-content:space-between}
.breadcrumb{font-size:13px;text-transform:uppercase;color:#666}
.breadcrumb a{font-weight:400}.breadcrumb span{margin:0 8px}.breadcrumb strong{color:#333}
.result-tools{display:flex;align-items:center;gap:18px}
.result-count{font-size:15px;color:#666}
.sort-label select{width:205px;height:40px;border:1px solid #ddd;background:#fff;color:#555;padding:0 37px 0 13px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23666' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center}
.mobile-filter-button{display:none}

.catalog-layout{display:grid;grid-template-columns:270px 1fr;padding:30px 0 0}
.sidebar{padding:0 15px 30px}
.sidebar-widget{margin-bottom:24px}
.sidebar-widget h2,.filter-drawer h2{margin:0;text-transform:uppercase;color:#555;font-size:16px;line-height:1.25;letter-spacing:.35px}
.short-rule{width:29px;height:3px;background:#e5e5e5;margin:15px 0 21px}
.short-rule.light{background:rgba(255,255,255,.26);margin:12px 0 17px}
.search-form{display:flex;width:100%;height:39px}
.search-form input{min-width:0;flex:1;border:1px solid #ddd;border-right:0;padding:0 12px;color:#555;outline:none}
.search-form input:focus{box-shadow:0 0 0 2px rgba(0,120,64,.16) inset}
.search-form button{width:40px;border:0;background:var(--accent-bright);color:#fff;display:grid;place-items:center}
.search-form svg{width:21px;height:21px;stroke-width:2.7}
.category-list{list-style:none;margin:0;padding:0}
.category-list li{border-bottom:1px solid #e6e6e6}
.category-row{display:flex;align-items:center;justify-content:space-between;min-height:39px}
.category-row button.category-name{border:0;background:transparent;color:#087b48;padding:7px 0;text-align:left;flex:1;font-size:15px}
.category-toggle{border:0;background:transparent;color:#999;width:30px;height:32px;font-size:18px;transition:transform .2s ease}
.category-toggle[aria-expanded="true"]{transform:rotate(180deg)}
.subcategories{list-style:none;margin:0 0 6px 12px;padding:0;border-top:1px solid #eee}
.subcategories li{border:0}.subcategories button{border:0;background:transparent;color:#777;font-size:13px;padding:4px 0}

.shop-container{min-width:0;padding:0 15px 30px}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 20px}
.product-card{min-width:0;padding-bottom:46px}
.product-image-link{position:relative;display:block;overflow:hidden;background:#f4f4f4;aspect-ratio:1/1}
.product-image-anchor{display:block;width:100%;height:100%}
.product-image-link img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}
.product-card:hover .product-image-link img{transform:scale(1.025)}
.quick-view-button{position:absolute;left:0;right:0;bottom:0;height:36px;border:0;background:rgba(0,120,64,.91);color:#fff;text-transform:uppercase;font-size:12px;letter-spacing:.35px;transform:translateY(100%);transition:transform .2s ease}
.product-card:hover .quick-view-button,.quick-view-button:focus{transform:translateY(0)}
.product-meta{padding-top:7px;line-height:1.35}
.product-category{margin:0 0 2px;text-transform:uppercase;font-size:11px;letter-spacing:.2px;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.product-title{margin:0;font-size:13px;font-weight:400;color:#087b48;line-height:1.35}
.product-title button{border:0;background:transparent;padding:0;color:inherit;text-align:left}
.product-price{margin:2px 0 0;font-size:13px;line-height:1.3;color:#292929;font-weight:700}
.pagination{height:43px;display:flex;align-items:flex-end;justify-content:center;gap:7px}
.page-button{width:35px;height:35px;border:2px solid #8a8a8a;border-radius:50%;background:#fff;color:#666;font-size:15px;display:grid;place-items:center;padding:0;line-height:1}
.page-button.active{border-color:var(--green);background:var(--green);color:#fff}
.page-button.next svg{width:16px;height:16px}
.empty-state{text-align:center;color:#666;padding:70px 0}

.footer-products{border-top:1px solid var(--border);background:#fff;padding:30px 0 58px}
.footer-products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.footer-product-column h2,.footer-main h2{font-size:14px;line-height:1.3;text-transform:uppercase;letter-spacing:.5px;color:#555;margin:0}
.mini-product{display:grid;grid-template-columns:50px 1fr;gap:12px;min-height:69px;padding:7px 0;border-top:1px solid #e7e7e7;align-items:center}
.mini-product:first-of-type{border-top:0}
.mini-product img{width:50px;height:50px;object-fit:cover}
.mini-product h3{font-size:13px;line-height:1.35;font-weight:400;color:#087b48;margin:0 0 2px}
.mini-product p{font-size:13px;line-height:1.3;font-weight:700;color:#333;margin:0}

.footer-main{background:var(--footer);color:rgba(255,255,255,.92);padding:38px 0 78px;min-height:350px}
.footer-main-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:54px}
.footer-main h2{color:#fff;font-weight:700}
.footer-main p{font-size:13px;line-height:1.65;margin:0 0 22px}
.footer-main select{width:100%;height:35px;border:0;background:#fff;color:#666;padding:0 42px 0 12px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23666' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;font-size:13px}
.terms-link{font-style:italic;color:#fff}
.footer-socials{display:flex;gap:6px;margin-top:54px}
.footer-socials a{width:28px;height:28px;border:2px solid rgba(255,255,255,.65);border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;line-height:1}
.footer-socials svg{width:17px;height:17px;stroke-width:1.7}
.footer-bottom{background:var(--black);color:rgba(255,255,255,.7);min-height:79px;padding:12px 0}
.footer-bottom-inner{display:flex;justify-content:space-between;align-items:center}
.footer-bottom nav{display:flex;gap:19px;text-transform:uppercase;font-size:10px;line-height:1.4}
.footer-bottom p{font-size:11px;margin:8px 0 0}
.payment-icons{display:flex;gap:8px;align-items:center}
.payment-icons>span{height:24px;min-width:45px;padding:0 5px;border-radius:2px;background:#1f1f1f;color:#bcbcbc;font-weight:700;font-style:italic;display:flex;align-items:center;justify-content:center}
.payment-icons .mastercard{position:relative;width:45px}.mastercard i{display:block;width:16px;height:16px;border-radius:50%;background:#8e8e8e;margin:-2px}.payment-icons i+ i{background:#585858}

.go-top{position:fixed;right:22px;bottom:22px;width:42px;height:42px;border:2px solid #777;border-radius:50%;background:rgba(255,255,255,.88);color:#555;font-size:23px;line-height:1;display:none;place-items:center;z-index:20}
.go-top.visible{display:grid}
.drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.38);z-index:99}
.filter-drawer{position:fixed;z-index:100;left:0;top:0;bottom:0;width:min(315px,88vw);background:#fff;padding:32px 24px;transform:translateX(-105%);transition:transform .25s ease;overflow:auto;box-shadow:6px 0 24px #0002}
.filter-drawer.open{transform:translateX(0)}
.drawer-close{position:absolute;right:12px;top:8px;border:0;background:transparent;color:#777;font-size:30px}
.drawer-category-title{margin-top:30px!important}
body.drawer-open{overflow:hidden}

.modal{width:min(760px,calc(100% - 30px));border:0;padding:0;background:#fff;box-shadow:0 16px 60px #0005;color:var(--text)}
.modal::backdrop{background:rgba(0,0,0,.55)}
.modal-close{position:absolute;right:9px;top:4px;border:0;background:transparent;font-size:30px;color:#777;z-index:2}
.quick-view-content{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding:42px}
.quick-view-content img{width:100%;aspect-ratio:1;object-fit:cover}
.quick-view-content h2{font-size:27px;line-height:1.2;color:#444;margin:15px 0 8px}
.quick-view-content .modal-category{text-transform:uppercase;color:#888;font-size:12px;margin:0}
.quick-view-content .modal-price{font-size:20px;font-weight:700;color:#222;margin:10px 0}
.quick-view-content .primary-button{margin-top:18px}
.compact-modal{width:min(420px,calc(100% - 30px));padding:36px}
.compact-modal h2{color:#444;margin:0 0 22px}
.compact-modal label{display:block;font-size:13px;font-weight:700;margin:0 0 15px}
.compact-modal input{display:block;width:100%;height:40px;border:1px solid #ddd;margin-top:5px;padding:0 10px}
.primary-button{border:0;background:var(--accent-bright);color:#fff;text-transform:uppercase;font-size:13px;font-weight:700;padding:11px 22px}

@media (max-width: 849px){
  .container{padding-left:15px;padding-right:15px}
  .topbar-inner{justify-content:center}.social-links{display:none}.contact-lines{text-align:center;font-size:12px;line-height:1.45}
  .masthead,.masthead-inner{height:72px}.masthead-inner{justify-content:space-between;position:relative}
  .brand{position:absolute;left:50%;transform:translateX(-50%);margin:0}.brand img{width:176px}
  .desktop-nav{display:none}.mobile-menu-button{display:flex;flex-direction:column;gap:4px;width:38px;border:0;background:transparent;padding:9px 2px}
  .mobile-menu-button span{display:block;width:20px;height:2px;background:#666}
  .cart-bag{margin-left:auto;margin-right:3px;width:28px;height:29px}
  .mobile-menu{position:absolute;left:0;right:0;top:132px;background:#fff;z-index:80;border-bottom:1px solid #ddd;padding:8px 22px 18px;box-shadow:0 8px 14px #0001}
  .mobile-menu:not([hidden]){display:flex;flex-direction:column}
  .mobile-menu a,.mobile-menu button{padding:10px 0;border:0;border-bottom:1px solid #eee;background:#fff;text-align:left;text-transform:uppercase;color:#555;font-size:13px}
  .page-heading{height:185px;display:flex;flex-direction:column;justify-content:flex-start;padding-top:14px}
  .breadcrumb{height:31px;font-size:14px}
  .result-tools{display:block}.result-count{display:none}.sort-label select{width:209px;height:39px;margin-top:60px;font-size:14px}
  .mobile-filter-button{display:flex;position:absolute;left:50%;transform:translateX(-50%);margin-top:38px;border:0;background:transparent;color:#666;text-transform:uppercase;font-size:15px;font-weight:700;align-items:center;gap:5px;padding:4px}
  .mobile-filter-button svg{width:20px;height:20px;stroke-width:1.7}
  .catalog-layout{display:block;padding:0 15px}.sidebar{display:none}.shop-container{padding:0 0 30px}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
  .product-card{padding-bottom:59px}.product-meta{padding-top:7px}.product-category{font-size:11px}.product-title,.product-price{font-size:13px}
  .quick-view-button{display:none}.pagination{height:52px}
  .footer-products{padding:28px 0 34px}.footer-products-grid{grid-template-columns:1fr 1fr;gap:30px 22px}
  .footer-main{padding:35px 0 45px}.footer-main-grid{grid-template-columns:1fr;gap:36px}.footer-socials{margin-top:30px}
  .footer-bottom-inner{align-items:flex-start;gap:18px}.footer-bottom nav{flex-wrap:wrap;gap:6px 14px}.payment-icons{padding-top:8px}
  .go-top{right:13px;bottom:13px}
}

@media (max-width: 430px){
  .product-grid{gap:0 18px}.product-card{padding-bottom:41px}
  .footer-products-grid{grid-template-columns:1fr}
  .footer-main-grid{gap:32px}
  .footer-bottom-inner{flex-direction:column}
  .quick-view-content{grid-template-columns:1fr;padding:28px;gap:12px}
}

@media (prefers-reduced-motion: reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Home page */
.home-hero{position:relative;height:500px;overflow:hidden;background:#f4f4f4}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s ease;background:#f4f4f4}
.hero-slide.active{opacity:1;visibility:visible}
.hero-inner{position:relative;height:500px}
.hero-copy{position:absolute;z-index:2;left:70px;top:69px;width:620px;color:#45a856}
.hero-script{font-family:"Segoe Script","Brush Script MT",cursive;font-size:25px;font-style:italic;line-height:1.2;margin:0 0 7px;color:#19834f}
.hero-copy h1,.hero-copy h2{margin:0;color:#80c655;text-transform:uppercase;font-size:43px;line-height:1.07;letter-spacing:.6px;font-weight:700}
.hero-lead{max-width:660px;margin:22px 0 0;text-transform:uppercase;color:#218452;font-size:15px;line-height:1.35;font-weight:700}
.hero-note{margin:23px 0 21px;color:#78bf55;font-size:10px;line-height:1.3}
.outline-button{display:inline-flex;align-items:center;justify-content:center;height:39px;border:2px solid #86c95c;padding:0 19px;color:#55a44f;text-transform:uppercase;font-size:13px;font-weight:700;background:transparent}
.hero-dog{position:absolute;z-index:1;object-fit:contain}
.slipper-dog{right:108px;top:55px;width:325px;height:390px}
.harness-dog{right:-20px;top:46px;width:470px;height:285px}
.harness-slide .hero-copy{width:700px}.harness-slide .hero-lead{max-width:650px}
.hero-arrow{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:42px;height:64px;border:0;background:transparent;color:#aaa;opacity:0;transition:opacity .2s}
.home-hero:hover .hero-arrow,.hero-arrow:focus{opacity:.75}.hero-prev{left:15px}.hero-next{right:15px}.hero-arrow svg{width:27px;height:27px}
.hero-dots{position:absolute;z-index:5;left:0;right:0;bottom:16px;display:flex;justify-content:center;gap:7px}
.hero-dots button{width:11px;height:11px;border-radius:50%;border:0;background:rgba(255,255,255,.7);padding:0}.hero-dots button.active{background:#fff}

.home-intro{height:203px;display:flex;align-items:center;padding-left:43px;padding-right:43px}
.home-intro h2{margin:0;color:#5b5b5b;font-size:16px;line-height:1.62;font-weight:400}
.home-products-section{background:#fff}
.featured-section{height:428px;padding-top:24px}
.best-section{height:458px;padding-top:45px}
.section-title{height:51px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:15px}
.section-title span{display:block;height:1px;background:#e7e7e7}
.section-title h2{margin:0;color:#555;text-transform:uppercase;font-size:15px;letter-spacing:.15px;line-height:1;font-weight:700}
.home-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.home-product-card{min-width:0}
.home-product-image{position:relative;overflow:hidden;aspect-ratio:1;background:#f4f4f4}
.home-product-image>a{display:block;width:100%;height:100%}.home-product-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.home-product-image>button{position:absolute;left:0;right:0;bottom:0;height:36px;border:0;background:rgba(0,120,64,.91);color:#fff;text-transform:uppercase;font-size:12px;transform:translateY(100%);transition:transform .2s}
.home-product-card:hover .home-product-image img{transform:scale(1.02)}.home-product-card:hover .home-product-image>button,.home-product-image>button:focus{transform:translateY(0)}
.home-product-card>.product-category{margin-top:7px}
.home-product-card h3{margin:0;font-size:13px;font-weight:400;line-height:1.35}.home-product-card h3 button{border:0;background:transparent;color:#087b48;padding:0;text-align:left}

.service-section{height:286px;background:#fff;padding:53px 0 35px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.service-grid article{position:relative;text-align:center;padding:0 34px;min-height:198px}
.service-grid article+article{border-left:1px solid #e7e7e7}
.service-grid img{width:50px;height:50px;object-fit:contain;margin:0 auto 12px}
.service-grid h2{margin:0 0 9px;color:#555;text-transform:uppercase;font-size:14px;line-height:1.3;font-weight:400}
.service-grid p{margin:0;color:#777;font-size:13px;line-height:1.55}.service-grid a{color:#07814a}

.contact-band{position:relative;height:279px;padding:80px 0 28px;background:#fff}
.contact-band::before{content:"";position:absolute;left:0;right:0;top:80px;height:171px;background:var(--footer)}
.contact-band-inner{position:relative;height:171px;display:flex;align-items:center;justify-content:space-between;padding-left:43px;padding-right:43px;color:#fff}
.contact-band h2{margin:0;font-size:22px;line-height:1.28;font-weight:700}
.contact-band a{width:243px;height:49px;display:grid;place-items:center;background:#fff;color:#666;text-transform:uppercase;font-size:16px}

@media (max-width:849px){
  .home-hero,.hero-inner{height:498px}.hero-slide{height:498px}
  .hero-copy,.harness-slide .hero-copy{left:18px;right:18px;top:104px;width:auto}
  .hero-script{font-size:23px;margin-bottom:6px}
  .hero-copy h1,.hero-copy h2{font-size:29px;line-height:1.05;letter-spacing:.25px}
  .hero-lead,.harness-slide .hero-lead{max-width:none;margin-top:18px;font-size:12px;line-height:1.45}
  .hero-note{margin:17px 0 23px;font-size:8px}.outline-button{height:28px;padding:0 12px;font-size:11px}
  .slipper-dog{top:22px;right:calc(50% - 46px);width:92px;height:92px}.harness-dog{top:15px;right:calc(50% - 112px);width:224px;height:105px}
  .hero-arrow{display:none}.hero-dots{bottom:16px}
  .home-intro{height:auto;min-height:275px;padding:60px 15px 40px;align-items:flex-start}.home-intro h2{font-size:16px;line-height:1.55}
  .featured-section,.best-section{height:auto;padding:28px 0 45px}
  .section-title{height:45px;gap:10px}.section-title h2{font-size:14px}
  .home-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 18px}.home-product-image>button{display:none}
  .service-section{height:auto;padding:35px 0}.service-grid{grid-template-columns:1fr}.service-grid article{padding:28px 18px;min-height:0}.service-grid article+article{border-left:0;border-top:1px solid #e7e7e7}
  .contact-band{height:auto;padding:30px 0;background:var(--footer)}.contact-band::before{display:none}.contact-band-inner{height:auto;min-height:190px;flex-direction:column;justify-content:center;text-align:center;padding:25px 22px;gap:28px}
  .contact-band h2{font-size:20px}.contact-band h2 br{display:none}.contact-band a{width:205px;height:44px;font-size:14px}
}

@media (max-width:430px){
  .home-page .footer-products-grid{grid-template-columns:1fr}
}
