/* DEAR DOG v3.0.9 — readability, spacing and mobile cleanup */
:root{
  --v309-brown:#49372d;
  --v309-muted:#74655c;
  --v309-orange:#cf7d4b;
  --v309-green:#356958;
  --v309-cream:#fffaf5;
  --v309-line:#e8d9ce;
}

/* Price typography: prioritize legibility over decorative serif numerals. */
.price-card .price,
.menu-course-grid article>strong,
.discount-list>article>strong,
.breed-table tbody td,
.option-card>strong,
.compact-option-list strong,
.course-option-list article>strong{
  font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Sans","Yu Gothic",Arial,sans-serif!important;
  font-weight:800!important;
  font-style:normal!important;
  font-variant-numeric:tabular-nums!important;
  font-feature-settings:"tnum" 1!important;
  letter-spacing:.01em!important;
  line-height:1.15!important;
}
.price-card .price{font-size:clamp(42px,5vw,58px)!important;color:#b8663a!important}
.price-card .price span{font-size:.48em!important;font-weight:700!important;vertical-align:.12em!important}
.price-card .price small{font-size:.42em!important;font-weight:700!important}
.menu-course-grid article>strong{font-size:24px!important;color:var(--v309-brown)!important}
.discount-list>article>strong{color:#b65f39!important}
.option-card>strong,.course-option-list article>strong{color:#9e5835!important}

/* Store photo: remove the inherited tall empty card and let the photo fill the frame. */
.shop-grid-v2.shop-grid-single{align-items:start!important}
.shop-single{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:16/10!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#fff!important;
}
.shop-single img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center 48%!important;
}
.shop-info h2{line-height:1.25!important}

/* Notes: replace the oversized dark block with a compact, readable information section. */
.menu-notes{
  height:auto!important;
  min-height:0!important;
  padding:76px 0!important;
  background:#f5f8f5!important;
  color:var(--v309-brown)!important;
  border-top:1px solid #e4ece7!important;
  border-bottom:1px solid #e4ece7!important;
}
.menu-notes .shell{max-width:1120px!important}
.menu-notes .section-kicker{margin-bottom:10px!important;color:var(--v309-orange)!important}
.menu-notes h2{
  margin:0 0 28px!important;
  color:var(--v309-brown)!important;
  font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Hiragino Sans",sans-serif!important;
  font-size:clamp(30px,4vw,44px)!important;
  font-weight:800!important;
  line-height:1.35!important;
}
.menu-notes ul{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  border-top:1px solid #dbe6df!important;
}
.menu-notes li{
  position:relative!important;
  min-height:0!important;
  margin:0!important;
  padding:17px 8px 17px 28px!important;
  border-bottom:1px solid #dbe6df!important;
  color:#62574f!important;
  font-size:14px!important;
  line-height:1.8!important;
}
.menu-notes li:before{
  content:""!important;
  position:absolute!important;
  left:4px!important;
  top:27px!important;
  width:7px!important;
  height:7px!important;
  border-radius:50%!important;
  background:var(--v309-green)!important;
}

/* Reduce unnecessary vertical volume on information-heavy sections. */
.option-section,.breed-price-section,.menu-overview{padding-top:82px!important;padding-bottom:82px!important}
.option-subgrid{margin-top:52px!important}
.menu-final-cta{padding-top:74px!important;padding-bottom:74px!important}

/* Footer logo needs a neutral field against the dark footer. */
.footer-logo{
  background:#fff!important;
  padding:8px 10px!important;
  border-radius:8px!important;
}
.footer-brand-wrap{gap:16px!important}

@media(max-width:640px){
  /* Keep fixed actions useful without hiding the page itself. */
  body{padding-bottom:86px!important}
  .mobile-bottom-bar{
    left:12px!important;
    right:12px!important;
    bottom:calc(8px + env(safe-area-inset-bottom))!important;
    height:62px!important;
    min-height:62px!important;
    border-radius:13px!important;
    overflow:hidden!important;
    box-shadow:0 8px 26px rgba(57,45,38,.12)!important;
  }
  .mobile-bottom-bar a{
    min-height:62px!important;
    height:62px!important;
    padding:0 14px!important;
    font-size:15px!important;
    line-height:1!important;
  }

  /* Header and hero: retain breathing room, but avoid oversized mobile type. */
  .hero-copy-block h1{font-size:48px!important;line-height:1.28!important}
  .shop-info h2{font-size:44px!important;line-height:1.28!important}

  /* Store photo is a real image block, not a tall blank card. */
  .shop-single{
    aspect-ratio:16/10!important;
    height:auto!important;
    min-height:0!important;
    border-width:3px!important;
    border-radius:14px!important;
  }
  .shop-single img{object-position:center 48%!important}
  .shop-section{padding-top:64px!important;padding-bottom:68px!important}
  .shop-grid-v2.shop-grid-single{gap:34px!important}

  /* Compact course cards and make prices easy to scan. */
  .price-card{padding:22px 18px!important;min-height:0!important}
  .price-card .price{font-size:46px!important;margin-top:14px!important;margin-bottom:14px!important}
  .menu-course-grid article{padding:24px 20px!important}
  .menu-course-grid article>span{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Yu Gothic",sans-serif!important;font-size:20px!important;font-weight:800!important}
  .menu-course-grid article>strong{font-size:23px!important}
  .breed-table tbody td{font-size:15px!important;font-weight:800!important}
  .option-card>strong,.compact-option-list strong{font-size:17px!important}
  .course-option-list article>strong{font-size:20px!important}

  /* Remove the huge blank/dark PLEASE NOTE area on phones. */
  .menu-notes{padding:58px 0!important;background:#f5f8f5!important}
  .menu-notes h2{font-size:31px!important;margin-bottom:22px!important}
  .menu-notes li{padding:15px 4px 15px 25px!important;font-size:13px!important}
  .menu-notes li:before{left:3px!important;top:25px!important}

  .option-section,.breed-price-section,.menu-overview{padding-top:66px!important;padding-bottom:66px!important}
  .option-subgrid{margin-top:38px!important}
  .menu-final-cta{padding-top:58px!important;padding-bottom:66px!important}

  .footer-logo{width:176px!important;max-height:none!important;padding:7px 9px!important}
}
