/* Homepage-only additions. The rest of the store keeps its current design. */
.home .mz-page { background: #fffdf8; }
.home .mz-header { background: #fffdf8; }
.mz-home-jumps {
  display: flex; align-items: center; gap: 8px;
  overflow-x: auto; scrollbar-width: none;
  padding: 18px 0 2px; white-space: nowrap;
}
.mz-home-jumps > span { display: none; font-size: 12px; color: #7a846c; margin-right: 8px; }
.mz-home-jumps > a {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; border: 1px solid #e0e6d6; padding: 9px 15px;
  border-radius: 30px; font-size: 12px; background: #fff;
}
.mz-home-jumps > a:hover { background: #eaf1df; border-color: #adbfa0; }
.mz-home-jumps > a:nth-last-child(2) { background: #f8eedf; border-color: #eddfc9; color: #865e37; }
.mz-home-jumps + .mz-pet-categories { margin-top: 31px; }
.mz-home-doodle { display: block; max-width: 100%; }
.mz-home-finder {
  display: grid; border: 1px solid #dce5ce; border-radius: 25px;
  background: #f0f4e8; overflow: hidden;
}
.mz-finder-intro { position: relative; padding: 25px 24px 22px; }
.mz-finder-intro h2 { font-size: 29px; line-height: 1.15; margin-top: 12px; max-width: 190px; }
.mz-finder-intro > p { max-width: 205px; font-size: 12px; line-height: 1.7; color: #6b7e5e; margin: 12px 0 0; }
.mz-finder-intro > .mz-home-doodle { position: absolute; right: 7px; bottom: 15px; width: 115px; height: 101px; }
.mz-finder-content { padding: 21px; background: #fbfcf6; border-top: 1px solid #dfe7d3; }
.mz-finder-choices { display: none; border: 0; padding: 0; margin: 0 0 21px; gap: 11px; min-width: 0; }
.is-ready .mz-finder-choices { display: flex; }
.mz-finder-choices legend { font-size: 12px; color: #738366; margin-bottom: 11px; padding: 0; }
.mz-finder-choices label { position: relative; flex: 1; min-width: 0; cursor: pointer; }
.mz-finder-choices input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.mz-finder-choices label > span {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  min-height: 112px; border: 1px solid #dfe6d3; border-radius: 17px;
  background: #fff; padding: 9px 6px; position: relative;
}
.mz-finder-choices .mz-pet-art { width: 66px; height: 59px; }
.mz-finder-choices strong { font-size: 12px; margin-top: 4px; font-weight: 600; }
.mz-finder-choices i { position: absolute; top: 11px; right: 11px; width: 14px; height: 14px; border: 1px solid #b6c2a7; border-radius: 50%; background: #fff; }
.mz-finder-choices input:checked + span { border-color: #5e7c4a; background: #eaf1dd; box-shadow: inset 0 0 0 1px #5e7c4a; }
.mz-finder-choices input:checked + span i { background: #587746; border: 3px solid #eaf1dd; box-shadow: 0 0 0 1px #587746; }
.mz-finder-choices input:focus-visible + span { outline: 3px solid #ba713c; outline-offset: 3px; }
.mz-finder-panel > p { font-size: 12px; color: #718064; margin: 0 0 10px; }
.mz-finder-panel + .mz-finder-panel:not([hidden]) { margin-top: 20px; }
.is-ready .mz-finder-panel { margin-top: 0!important; }
.mz-finder-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.mz-finder-links > a {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  min-height: 48px; padding: 12px; border: 1px solid #e0e6d5;
  border-radius: 11px; background: #fff; font-size: 12px; line-height: 1.4;
}
.mz-finder-links > a:last-child { grid-column: 1/-1; }
.mz-finder-links > a > span { color: #7d926b; }
.mz-finder-links > a:hover { border-color: #9bae88; background: #f2f7e9; }
.mz-home-budget { background: #f7f0e4; padding: 25px 14px 10px; border-radius: 25px; border: 1px solid #ece0cd; }
.mz-home-budget .mz-eyebrow { color: #99714b; font-size: 8px; margin-bottom: 10px; }
.mz-home-budget h2 { font-size: 26px; max-width: 260px; }
.mz-home-budget .mz-heading { gap: 10px; align-items: center; }
.mz-home-budget .mz-heading p { font-size: 12px; max-width: 350px; }
.mz-budget-stamp {
  flex-shrink: 0; display: flex; flex-direction: column; align-items: center; justify-content: center;
  width: 63px; height: 77px; background: #e7cfaa; color: #735331;
  border: 1px dashed #b49060; border-radius: 40px 40px 15px 15px;
  transform: rotate(7deg); line-height: 1;
}
.mz-budget-stamp small { font-size: 9px; letter-spacing: 1px; }
.mz-budget-stamp b { font-size: 30px; line-height: 1.15; }
.mz-home-budget .mz-product { border-color: #e8dece; }
.mz-home-budget .mz-product-body { padding: 12px 10px; }
.mz-home-budget .mz-product-img { padding: 16px 12px; height: 142px; }
.mz-home-budget .mz-panel-link { text-align: center; font-size: 12px; }
.mz-home-welcome { display: grid; border-radius: 25px; overflow: hidden; background: #f2e5d4; border: 1px solid #e8d7bf; }
.mz-welcome-art { position: relative; display: flex; align-items: flex-end; justify-content: center; min-height: 270px; padding: 43px 12px 14px; background: #ead9bd; overflow: hidden; }
.mz-welcome-art::before { content: ''; position: absolute; width: 270px; height: 245px; border-radius: 49% 49% 0 0; background: #f5ead6; left: calc(50% - 135px); bottom: -10px; transform: rotate(-5deg); }
.mz-welcome-note { position: absolute; top: 17px; left: 18px; z-index: 1; background: #fbf7e9; padding: 8px 13px; border-radius: 4px; color: #8a6942; font-size: 12px; transform: rotate(-5deg); }
.mz-welcome-pets { display: flex; align-items: flex-end; width: 300px; position: relative; padding-bottom: 7px; }
.mz-welcome-pets > img { width: 58%; height: 184px; transform: rotate(-4deg); }
.mz-welcome-pets > img + img { width: 52%; height: 156px; margin-left: -32px; transform: rotate(5deg); }
.mz-welcome-art > .mz-home-doodle { width: 80px; height: 70px; position: absolute; left: calc(50% - 53px); bottom: -6px; }
.mz-welcome-heart { position: absolute; color: #bf855f; right: 25px; top: 61px; font-size: 26px; transform: rotate(15deg); }
.mz-welcome-copy { padding: 29px 24px; }
.mz-welcome-copy > .mz-eyebrow { color: #9a7951; }
.mz-welcome-copy h2 { font-size: 31px; margin-top: 13px; line-height: 1.13; }
.mz-welcome-copy > p { font-size: 12px; line-height: 1.8; color: #837456; margin: 14px 0 0; max-width: 430px; }
.mz-welcome-copy ul { list-style: none; padding: 0; margin: 20px 0 25px; }
.mz-welcome-copy li { display: flex; align-items: center; gap: 12px; margin: 9px 0; font-size: 12px; }
.mz-welcome-copy li > span { display: inline-flex; align-items: center; justify-content: center; width: 27px; height: 27px; border-radius: 50%; flex-shrink: 0; font-size: 10px; color: #8a6c46; background: #eadbc3; }
.mz-welcome-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.mz-welcome-actions .mz-button { font-size: 12px; min-height: 45px; padding-inline: 13px; }
.mz-home-guides .mz-eyebrow { margin-bottom: 10px; }
.mz-guides-grid { display: grid; gap: 13px; align-items: start; }
.mz-guide-card { padding: 24px; border: 1px solid #e0e6d3; border-radius: 22px; background: #f4f6ed; position: relative; }
.mz-guide-card:nth-child(2) { background: #f7f2e7; border-color: #e9dfcd; }
.mz-guide-card:nth-child(3) { background: #edf3ed; border-color: #dfe8dd; }
.mz-guide-card > .mz-home-doodle { width: 104px; height: 91px; float: right; margin: -4px -9px 4px 10px; }
.mz-guide-card h3 { font-size: 21px; font-weight: 600; line-height: 1.2; margin: 7px 0 10px; max-width: 175px; }
.mz-guide-card > p { font-size: 12px; line-height: 1.8; color: #748466; margin: 0 0 16px; }
.mz-guide-card details { clear: both; border-top: 1px solid #dfe5d4; }
.mz-guide-card summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 12px; min-height: 49px; padding: 12px 0 0; cursor: pointer; list-style: none; }
.mz-guide-card summary > svg { width: 17px; height: 17px; }
.mz-guide-card details[open] summary > svg { transform: rotate(45deg); }
.mz-guide-card details p { font-size: 12px; line-height: 1.85; color: #6e7b61; margin: 12px 0 0; }
.mz-home-end { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin: 0 0 26px; padding: 15px 0; border-top: 1px solid #e4e7dc; }
.mz-home-end > span { display: flex; align-items: center; gap: 9px; color: #81916f; font-size: 11px; max-width: 215px; }
.mz-home-end svg { width: 21px; height: 21px; stroke: none; fill: #b88c5c; }
.mz-home-end > a { display: flex; align-items: center; min-height: 44px; flex-shrink: 0; font-size: 11px; color: #5a7448; }
.home .mz-product { transition: border-color .18s, box-shadow .18s; }
.home .mz-product:hover { border-color: #bccbab; box-shadow: 0 7px 20px #43583009; }
.home .mz .mz-add { min-height: 44px!important; }
.home .mz-brands > a:hover { border-color: #b2c19f; background: #fbfcf7; }
@media (max-width:767px) {
  .home .mz-category-grid { scroll-padding-inline: 18px; }
  .mz-finder-intro > p { max-width: min(205px, calc(100% - 88px)); }
}
@media (min-width:768px) and (max-width:999px) {
  .home .mz-category-card { padding: 14px; }
  .home .mz-category-card h3 { font-size: 14px; }
  .home .mz-category-card h3 > span { display: none; }
}
@media (min-width:600px) {
  .mz-finder-choices label > span { flex-direction: row; gap: 14px; min-height: 97px; padding: 12px 22px; justify-content: flex-start; }
  .mz-finder-choices strong { font-size: 15px; }
  .mz-finder-choices .mz-pet-art { width: 77px; height: 70px; }
  .mz-finder-links { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .mz-finder-links > a:last-child { grid-column: auto / span 2; }
}
@media (min-width:768px) {
  .mz-home-jumps { gap: 10px; padding-top: 22px; }
  .mz-home-jumps > span { display: block; }
  .mz-home-jumps > a { padding-inline: 18px; }
  .mz-home-jumps + .mz-pet-categories { margin-top: 40px; }
  .mz-home-finder { grid-template-columns: .8fr 1.5fr; }
  .mz-finder-intro { padding: 31px; }
  .mz-finder-intro h2 { font-size: 35px; }
  .mz-finder-intro > p { font-size: 13px; max-width: 215px; }
  .mz-finder-intro > .mz-home-doodle { width: 125px; height: 109px; right: 14px; bottom: 5px; }
  .mz-finder-content { padding: 28px; border-top: 0; border-left: 1px solid #dfe7d3; }
  .mz-finder-choices { gap: 13px; margin-bottom: 22px; }
  .mz-finder-choices label > span { padding: 14px 13px; gap: 7px; }
  .mz-finder-choices strong { font-size: 13px; }
  .mz-finder-choices .mz-pet-art { width: 58px; height: 57px; }
  .mz-finder-links { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .mz-finder-links > a:last-child { grid-column: 1/-1; }
  .mz-home-budget { padding: 30px 24px 15px; }
  .mz-home-budget .mz-eyebrow { font-size: 9px; }
  .mz-home-budget h2 { font-size: 34px; max-width: none; }
  .mz-home-budget .mz-heading p { font-size: 13px; max-width: none; }
  .mz-budget-stamp { width: 81px; height: 98px; margin-right: 10px; }
  .mz-budget-stamp b { font-size: 38px; }
  .mz-budget-stamp small { font-size: 10px; }
  .mz-home-budget .mz-product-img { height: 172px; padding: 20px; }
  .mz-home-budget .mz-product-body { padding: 15px; }
  .mz-home-welcome { grid-template-columns: .95fr 1.2fr; }
  .mz-welcome-copy { padding: 36px; }
  .mz-welcome-copy h2 { font-size: 36px; }
  .mz-welcome-copy > p { font-size: 13px; }
  .mz-welcome-copy li { font-size: 13px; }
  .mz-welcome-art { align-items: center; padding: 40px 16px 0; }
  .mz-welcome-art::before { width: 300px; height: 80%; left: calc(50% - 150px); bottom: -20px; }
  .mz-welcome-pets { width: 100%; max-width: 360px; }
  .mz-welcome-pets > img { height: 240px; }
  .mz-welcome-pets > img + img { height: 205px; }
  .mz-welcome-art > .mz-home-doodle { width: 108px; height: 95px; bottom: 12%; left: calc(50% - 60px); }
  .mz-welcome-note { top: 34px; left: 27px; font-size: 14px; }
  .mz-welcome-heart { right: 25px; top: 100px; font-size: 31px; }
  .mz-guides-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
  .mz-guide-card { padding: 22px; }
  .mz-guide-card > .mz-home-doodle { float: none; width: 130px; height: 114px; margin: -7px 0 8px; }
  .mz-guide-card h3 { font-size: 23px; max-width: none; min-height: 56px; }
  .mz-guide-card > p { min-height: 66px; }
  .mz-home-end > span { max-width: none; font-size: 13px; }
  .mz-home-end > a { font-size: 12px; }
}
@media (min-width:1100px) {
  .mz-finder-intro { padding: 39px; }
  .mz-finder-intro h2 { font-size: 42px; max-width: none; }
  .mz-finder-intro > p { max-width: 195px; }
  .mz-finder-intro > .mz-home-doodle { width: 155px; height: 136px; right: 10px; bottom: 10px; }
  .mz-finder-content { padding: 30px 34px; }
  .mz-finder-choices label > span { gap: 16px; padding: 10px 19px; }
  .mz-finder-choices strong { font-size: 16px; }
  .mz-finder-choices .mz-pet-art { width: 86px; height: 77px; }
  .mz-finder-links { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
  .mz-finder-links > a:last-child { grid-column: auto / span 2; }
  .mz-finder-links > a { font-size: 13px; padding: 14px 16px; }
  .mz-home-budget { padding: 35px 30px 17px; }
  .mz-home-budget .mz-product-img { height: 225px; }
  .mz-home-budget .mz-product-body { padding: 18px; }
  .mz-home-welcome { grid-template-columns: 1fr 1.1fr; }
  .mz-welcome-copy { padding: 44px 47px; }
  .mz-welcome-copy h2 { font-size: 43px; }
  .mz-welcome-copy > p { font-size: 14px; }
  .mz-welcome-art::before { width: 410px; left: calc(50% - 205px); }
  .mz-welcome-pets { max-width: 460px; }
  .mz-welcome-pets > img { height: 300px; }
  .mz-welcome-pets > img + img { height: 259px; margin-left: -47px; }
  .mz-welcome-art > .mz-home-doodle { width: 127px; height: 111px; bottom: 10%; }
  .mz-welcome-heart { right: 55px; top: 92px; }
  .mz-welcome-note { top: 42px; left: 40px; padding: 12px 17px; font-size: 16px; }
  .mz-guide-card { padding: 28px; }
  .mz-guide-card h3 { min-height: 29px; }
  .mz-guide-card > p { min-height: 44px; font-size: 13px; }
}
@media (prefers-reduced-motion:reduce) {
  .home .mz-product { transition: none; }
}

/* Local brand artwork, with a shared visual area and natural proportions. */
.home .mz-brands > .mz-brand-card { padding: 17px 16px 12px; min-height: 134px; background: #fff; }
.home .mz-brand-art { display: flex; align-items: center; justify-content: center; width: 100%; height: 76px; margin-bottom: 14px; }
.home .mz-brand-art img { display: block; width: 100%; max-width: 162px; height: 100%; max-height: 65px; object-fit: contain; }
.home .mz-brand-flexi .mz-brand-art img { max-width: 128px; }
.home .mz-brand-trixie .mz-brand-art img { max-width: 110px; }
.home .mz-brand-meta { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-top: 10px; border-top: 1px solid #eef1e7; }
.home .mz-brand-meta span { margin: 0; font-size: 10px; color: #7b886b; }
.home .mz-brand-meta span:last-child { font-size: 17px; line-height: 1; }
.home .mz-brands > .mz-brand-card:hover { background: #fff; }
@media (min-width: 768px) {
  .home .mz-brands > .mz-brand-card { padding: 22px 22px 16px; min-height: 160px; }
  .home .mz-brand-art { height: 84px; margin-bottom: 18px; }
  .home .mz-brand-art img { max-width: 180px; max-height: 76px; }
  .home .mz-brand-flexi .mz-brand-art img { max-width: 145px; }
  .home .mz-brand-trixie .mz-brand-art img { max-width: 126px; }
  .home .mz-brand-meta span { font-size: 11px; }
  .home .mz-brand-meta span:last-child { font-size: 19px; }
}
/* The manufacturer's white wordmark is rendered in ink on the white tile. */
.home .mz-brand-iv-san-bernard .mz-brand-art img { filter: brightness(0); max-width: 210px; }
