/* Protect the brand from flex compression even on small desktop windows. */
.mascoteria-logobar .wp-block-site-logo { flex: 0 0 190px; }
.mascoteria-logobar .wp-block-site-logo img { width: 190px; height: auto; }
.mascoteria-search-toggle { display: none; }
.mascoteria-logobar .mascoteria-search[hidden] { display: none !important; }
@media (min-width: 1121px) {
  .mascoteria-footer .wp-block-columns { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(0, .8fr)) minmax(0, 1fr) minmax(200px, 1.2fr); gap: 24px !important; }
  .mascoteria-footer .wp-block-column { min-width: 0; }
  .mascoteria-footer-contacto { white-space: normal; overflow-wrap: anywhere; }
}
@media (max-width: 1120px) {
  .mascoteria-logobar, .mascoteria-menubar, .mascoteria-topbar { padding-inline: 24px !important; }
  .mascoteria-logobar { padding-block: 12px !important; }
  .mascoteria-logobar > .wp-block-group { flex-wrap: wrap !important; gap: 12px !important; width: 100%; max-width: none !important; }
  .mascoteria-logobar .wp-block-site-logo { order: 1; flex: 0 0 160px; }
  .mascoteria-logobar .wp-block-site-logo img { width: 160px !important; max-width: 100%; height: auto; }
  .mascoteria-logobar .mascoteria-access { display: none !important; }
  .mascoteria-logobar.search-ready .mascoteria-search-toggle {
    order: 2; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    margin: 0 0 0 auto; min-width: 44px; min-height: 44px; padding: 10px 14px;
    border: 1px solid #dfd8ec; border-radius: 999px; background: #f6f3ff; color: #292633;
    font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1.2; cursor: pointer;
  }
  .mascoteria-search-toggle:focus-visible { outline: 2px solid #003dff; outline-offset: 3px; }
  .mascoteria-search-toggle[aria-expanded="true"] { background: #eee8ff !important; }
  .mascoteria-logobar .mascoteria-search { order: 3; flex: 1 0 100% !important; width: 100% !important; min-width: 0 !important; max-width: 100% !important; }
  .mascoteria-search .wp-block-search__inside-wrapper { width: 100% !important; min-width: 0 !important; box-sizing: border-box; }
  .mascoteria-search .wp-block-search__input { min-width: 0; font-size: 16px !important; }
  .mascoteria-search .wp-block-search__button { flex: 0 0 auto; }
  .mascoteria-menubar { padding-block: 5px !important; }
  .mascoteria-menubar .mascoteria-menubar-desktop { display: none !important; }
  .mascoteria-menubar .mascoteria-menubar-mobile { display: flex !important; width: 100%; max-width: none !important; margin: 0 !important; }
  .mascoteria-mobile-actions { display: flex; align-items: center; gap: 12px; }
  .mascoteria-mobile-actions a, .mascoteria-menubar-mobile .wp-block-navigation__responsive-container-open {
    display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px;
  }
  .mascoteria-mobile-actions svg { width: 22px; height: 22px; }
  .mascoteria-mobile-actions .mascoteria-cart-link { font-size: 12px; gap: 4px; text-decoration: none; }
  .mascoteria-topbar > .wp-block-group { max-width: none !important; }
  .mascoteria-topbar p { white-space: nowrap; }
  .mascoteria-footer .wp-block-columns {
    display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 32px !important;
  }
  .mascoteria-footer .wp-block-columns > .wp-block-column {
    width: auto !important; min-width: 0; margin: 0 !important; flex-basis: auto !important;
  }
  .mascoteria-footer .wp-block-columns > .wp-block-column:first-child { grid-column: 1 / -1; }
  .mascoteria-footer .mascoteria-footer-contacto { white-space: normal; overflow-wrap: anywhere; }
  .mascoteria-benefit-row { flex-wrap: nowrap !important; gap: 12px !important; }
  .mascoteria-benefit { flex: 1 1 0; min-width: 0; }
  .mascoteria-benefit-b { display: none; }
  .mascoteria-cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .mascoteria-featured-cats .mascoteria-ccard { aspect-ratio: 1 / 1.04; min-height: 240px; }
}
@media (max-width: 600px) {
  .mascoteria-logobar, .mascoteria-menubar, .mascoteria-topbar { padding-inline: 18px !important; }
  .mascoteria-topbar > .wp-block-group > .wp-block-group { gap: 5px 12px !important; flex-wrap: wrap !important; }
  .mascoteria-topbar p { font-size: 11px !important; }
  .mascoteria-logobar .wp-block-site-logo { flex-basis: 150px; }
  .mascoteria-logobar .wp-block-site-logo img { width: 150px !important; }
  .mascoteria-footer { padding-inline: 24px !important; }
  .mascoteria-footer .wp-block-columns { gap: 26px 20px !important; }
  .mascoteria-cat-grid { gap: 12px; }
  .mascoteria-featured-cats .mascoteria-ccard { min-height: 210px; aspect-ratio: auto; }
}
