/*
 * selectraven mobile refinement layer.
 * Everything in this file is intentionally scoped to phone-sized viewports so
 * the established desktop design remains untouched.
 */
.mobile-featured-products { display: none; }
.home-collection-anchor { display: block; height: 0; scroll-margin-top: 76px; }

@media (max-width: 767px) {
  :root {
    --mobile-gutter: clamp(14px, 4.3vw, 20px);
    --mobile-radius: 18px;
    --mobile-tap: 48px;
  }

  html { overflow-x: clip; scroll-padding-top: 72px; }
  body { min-width: 0; overflow-x: clip; -webkit-text-size-adjust: 100%; }
  img, video { max-width: 100%; }
  button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
  button, .button, [type="submit"] { touch-action: manipulation; }

  /* Calm, legible mobile header */
  .store-header {
    box-sizing: border-box;
    height: calc(64px + env(safe-area-inset-top));
    padding: env(safe-area-inset-top) var(--mobile-gutter) 0 !important;
    background: rgba(247, 243, 234, .88) !important;
    color: #171712 !important;
    border-bottom: 1px solid rgba(23, 23, 18, .09);
    box-shadow: 0 8px 28px rgba(32, 28, 20, .05);
    backdrop-filter: blur(16px) saturate(1.08);
  }
  .pet-gateway-page .store-header,
  .home .store-header:not(.is-scrolled) {
    background: linear-gradient(180deg, rgba(18, 18, 15, .28), transparent) !important;
    color: #fff !important;
    border-color: transparent;
    box-shadow: none;
  }
  .store-logo { width: 112px !important; height: 42px !important; }
  .store-logo img { width: 100%; height: 100%; object-fit: contain; }
  .mobile-trigger, .header-tools .icon-button {
    min-width: 44px; min-height: 44px; border-radius: 50%;
  }
  .header-tools { gap: 0 !important; }
  .cart-tool .cart-count { min-width: 18px; height: 18px; font-size: 9px; }
  .mobile-menu {
    width: min(88vw, 370px) !important;
    padding: calc(26px + env(safe-area-inset-top)) 22px calc(24px + env(safe-area-inset-bottom)) !important;
    background: #f7f3ea !important;
  }
  .mobile-link { min-height: 58px; font-size: 25px !important; }

  /* Dog / cat gateway: two cinematic, easy-to-tap worlds */
  .pet-gateway { min-height: 100svh; }
  .gateway-worlds {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
    min-height: 100svh;
  }
  .gateway-world { min-height: 50svh; }
  .gateway-world img, .gateway-world video { object-position: center 42%; }
  .gateway-intro {
    top: calc(74px + env(safe-area-inset-top)) !important;
    width: calc(100% - 36px) !important;
  }
  .gateway-intro h1 { font-size: clamp(42px, 12vw, 58px) !important; line-height: .86 !important; }
  .gateway-intro p { display: none; }
  .gateway-world .world-copy { padding: 0 var(--mobile-gutter) 18px !important; }
  .gateway-world .world-copy h2 { font-size: clamp(54px, 18vw, 78px) !important; }
  .gateway-world .world-copy a { min-height: 48px; padding: 0 18px; }
  .gateway-note { bottom: calc(8px + env(safe-area-inset-bottom)) !important; font-size: 8px !important; }

  /* Home hero and scroll-led transition */
  .hero-scroll { height: 150svh !important; }
  .hero-sticky { height: 100svh; }
  .hero-copy { top: 53% !important; width: calc(100% - 32px) !important; }
  .hero-copy h1 { font-size: clamp(48px, 15vw, 66px) !important; line-height: .82 !important; }
  .hero-copy p { max-width: 310px; margin: 16px auto 0; font-size: 13px !important; line-height: 1.45; }
  .hero-pet-choices { gap: 10px; margin-top: 22px; }
  .hero-pet-choices a { min-width: 132px; min-height: var(--mobile-tap); padding: 0 17px; }
  .hero-next-stage { padding: 8svh var(--mobile-gutter) !important; }
  .hero-next-stage > h2 { width: 92%; font-size: clamp(46px, 13vw, 64px) !important; }
  .hero-preview-product { width: clamp(82px, 25vw, 112px) !important; }
  .hero-stage-discover { min-height: 44px; }

  /* Trust strip becomes a compact horizontal snap row */
  .home-trust-strip {
    display: flex !important;
    gap: 10px;
    padding: 16px var(--mobile-gutter) 20px !important;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    background: #fbf7ef;
  }
  .home-trust-strip::-webkit-scrollbar { display: none; }
  .home-trust-strip a {
    flex: 0 0 min(76vw, 292px);
    min-height: 82px !important;
    padding: 17px 16px !important;
    border: 1px solid rgba(23, 23, 18, .1) !important;
    border-radius: 16px;
    background: #fffaf2;
    scroll-snap-align: start;
  }

  /* Homepage editorial/product sections */
  .collection.collection-v14 { padding: 58px 0 34px !important; }
  .collection-heading { padding: 0 var(--mobile-gutter) 34px !important; }
  .collection-heading h2 { font-size: clamp(48px, 14vw, 66px) !important; line-height: .86 !important; }
  .collection-feature-row,
  .collection-feature-row--mini,
  .collection-feature-row--mini.is-flipped {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    margin: 0 0 42px !important;
    padding: 0 var(--mobile-gutter) !important;
  }
  .collection-feature-row .product-card,
  .collection-feature-row--mini .product-card { width: 100% !important; margin: 0 !important; }
  .collection-feature-row .product-image { aspect-ratio: 1 / 1; border-radius: 24px; overflow: hidden; }
  .collection-feature-row .product-info { padding: 15px 2px 0 !important; }
  .collection-feature-row .product-info h3 { font-size: clamp(29px, 8.5vw, 38px) !important; }
  .collection-feature-row .product-info strong { font-size: 17px !important; }
  .ritual-proof-card,
  .ritual-proof-card--mini {
    min-height: 0 !important;
    padding: 28px 24px !important;
    border-radius: 22px !important;
  }
  .ritual-proof-card h3 { font-size: clamp(42px, 12vw, 56px) !important; line-height: .82 !important; }
  .ritual-proof-card p { font-size: 13px; line-height: 1.62; }
  .ritual-proof-card a { min-height: 48px; }

  .home-conversion-moment {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
    padding: 58px var(--mobile-gutter) 64px !important;
  }
  .conversion-copy h2 { font-size: clamp(50px, 14vw, 68px) !important; line-height: .84 !important; }
  .conversion-orbit { min-height: 330px !important; border-radius: 46% !important; }
  .conversion-orbit > * { transform: scale(.9); }

  .rescue-journal-home { padding: 68px var(--mobile-gutter) !important; gap: 34px !important; }
  .rescue-copy h2 { font-size: clamp(48px, 14vw, 64px) !important; line-height: .86 !important; }
  .rescue-media { gap: 10px !important; }
  .rescue-media figure, .pet-social-grid figure { border-radius: 18px; overflow: hidden; }
  .pet-social, .reel-section, .home-stories { padding: 66px var(--mobile-gutter) !important; }
  .pet-social > header h2, .reel-section > header h2, .home-stories header h2 {
    font-size: clamp(44px, 12vw, 60px) !important; line-height: .88 !important;
  }
  .pet-social-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
  .reel-track { gap: 12px !important; padding-right: var(--mobile-gutter); scroll-snap-type: x mandatory; }
  .reel-card { flex: 0 0 72vw !important; scroll-snap-align: center; border-radius: 18px; }
  .story-grid { grid-template-columns: 1fr !important; gap: 18px !important; }

  /* Product archive: always two comfortable cards per row on phones */
  .selectraven-shop-page { padding-top: 64px !important; }
  .shop-hero-new { padding: 86px var(--mobile-gutter) 28px !important; gap: 24px !important; }
  .shop-hero-new h1 { font-size: clamp(47px, 13vw, 62px) !important; line-height: .86 !important; }
  .shop-hero-new span { margin-top: 15px; font-size: 13px; line-height: 1.55; }
  .shop-hero-new nav { gap: 8px; }
  .shop-hero-new nav a { min-height: 44px; padding: 0 16px; }
  .shop-trust-row {
    display: flex !important;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .shop-trust-row::-webkit-scrollbar { display: none; }
  .shop-trust-row span {
    flex: 0 0 74vw;
    min-height: 66px !important;
    padding: 0 var(--mobile-gutter) !important;
    border-right: 1px solid rgba(23,23,18,.1) !important;
    border-bottom: 0 !important;
    scroll-snap-align: start;
  }
  .shop-toolbar-new {
    flex-direction: row !important;
    align-items: center !important;
    padding: 14px var(--mobile-gutter) !important;
  }
  .shop-toolbar-new p { font-size: 9px; }
  .shop-toolbar-new select { max-width: 160px; min-height: 44px; font-size: 10px; }
  .shop-product-grid-new {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1px !important;
  }
  .shop-card-new { min-width: 0; min-height: 0 !important; }
  .shop-card-media { aspect-ratio: 1 / 1.04; }
  .shop-card-media img { padding: 8% !important; filter: drop-shadow(0 14px 22px rgba(43,36,25,.12)); }
  .shop-card-media span { width: 66px; height: 66px; font-size: 7px; }
  .shop-card-body {
    display: block !important;
    min-height: 132px;
    padding: 14px 12px 10px !important;
  }
  .shop-card-body p { margin-bottom: 5px; font-size: 7px; }
  .shop-card-body h2 { font-size: clamp(18px, 5.5vw, 23px) !important; line-height: .96 !important; }
  .shop-card-body small {
    display: -webkit-box;
    margin-top: 8px;
    overflow: hidden;
    font-size: 10px;
    line-height: 1.4;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .shop-card-body strong { display: block; margin-top: 9px; font-size: 14px !important; }
  .shop-color-dots { gap: 5px; margin-top: 10px; }
  .shop-color-dots i { width: 10px; height: 10px; }
  .shop-card-cart { margin: 4px 10px 13px !important; }
  .shop-card-cart button, .shop-card-options {
    min-height: 46px !important;
    gap: 5px;
    padding: 0 8px;
    font-size: 8px !important;
    letter-spacing: .08em !important;
  }
  .shop-bottom-story { padding: 62px var(--mobile-gutter) !important; }
  .shop-bottom-story h2 { font-size: clamp(46px, 13vw, 60px) !important; }

  /* Product detail page */
  .product-page.fable-pdp { padding-top: 64px; }
  .fable-pdp-hero { display: block !important; }
  .fable-gallery {
    display: flex !important;
    gap: 10px !important;
    padding: 14px var(--mobile-gutter) 8px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .fable-gallery::-webkit-scrollbar { display: none; }
  .fable-gallery figure {
    flex: 0 0 calc(100vw - (var(--mobile-gutter) * 2));
    min-height: 0 !important;
    aspect-ratio: 1 / 1;
    border-radius: 22px;
    overflow: hidden;
    scroll-snap-align: center;
  }
  .fable-gallery figure img, .fable-gallery figure video { width: 100%; height: 100%; object-fit: contain; }
  .fable-summary { position: static !important; padding: 26px var(--mobile-gutter) 34px !important; }
  .product-title-row { align-items: flex-start; gap: 16px; }
  .product-title-row h1 { font-size: clamp(42px, 12vw, 58px) !important; line-height: .88 !important; }
  .product-title-row .price { font-size: 19px !important; white-space: nowrap; }
  .fable-swatches { gap: 10px; }
  .fable-swatches button { width: 44px; height: 44px; }
  .fable-option.size-option > div { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .fable-option.size-option button { min-height: 48px; }
  .fable-cart, .fable-variable-cart { gap: 9px !important; }
  .fable-add, .single_add_to_cart_button { min-height: 54px !important; border-radius: 999px !important; }
  .pdp-confidence { grid-template-columns: 1fr !important; gap: 8px !important; }
  .pdp-confidence span { min-height: 48px; border-radius: 14px; }
  .fable-content-grid, .fable-feature-grid { grid-template-columns: 1fr !important; }
  .fable-content-main, .fable-story, .fable-faq { padding-left: var(--mobile-gutter) !important; padding-right: var(--mobile-gutter) !important; }
  .fable-sticky-buy {
    left: 10px !important; right: 10px !important; bottom: calc(10px + env(safe-area-inset-bottom)) !important;
    width: auto !important; padding: 10px !important; border-radius: 18px !important;
  }

  /* Cart drawer: full-width bottom sheet with safe, thumb-friendly controls */
  .mizu-cart-drawer {
    inset: auto 0 0 !important;
    width: 100% !important;
    height: auto !important;
    max-height: 94svh !important;
    border-radius: 24px 24px 0 0;
    transform: translateY(105%) !important;
  }
  .mizu-cart-drawer.is-open { transform: none !important; }
  .drawer-promo { min-height: 34px; padding: 0 12px; font-size: 10px; text-align: center; }
  .drawer-head { padding: 20px var(--mobile-gutter) 16px !important; }
  .drawer-head h2 { font-size: 34px; }
  .drawer-close { min-width: 44px; min-height: 44px; }
  .drawer-lines { padding: 4px var(--mobile-gutter) 0 !important; }
  .drawer-line { grid-template-columns: 82px 1fr auto !important; gap: 11px !important; padding: 15px 0 !important; }
  .drawer-line img { width: 82px !important; height: 82px !important; border-radius: 14px; object-fit: contain; }
  .drawer-line strong { margin-bottom: 4px; font-size: 13px; }
  .drawer-line span { margin-bottom: 10px; font-size: 11px; }
  .drawer-line > p { grid-column: auto !important; justify-self: end !important; margin: 2px 0 0 !important; font-size: 12px; }
  .drawer-qty { grid-template-columns: 38px 34px 38px; min-height: 42px; border-radius: 999px; }
  .drawer-qty a, .drawer-qty button { height: 42px; }
  .drawer-like { padding: 14px var(--mobile-gutter) 0 !important; }
  .drawer-like > p { margin-bottom: 10px; font-size: 25px; }
  .drawer-like article { grid-template-columns: 64px 1fr 62px !important; gap: 10px; padding: 10px; border-radius: 14px; }
  .drawer-like img { width: 64px !important; height: 64px !important; border-radius: 10px; object-fit: contain; }
  .drawer-like strong { font-size: 12px; }
  .drawer-like button { min-height: 44px; border-radius: 999px; }
  .drawer-total { padding: 16px var(--mobile-gutter) calc(16px + env(safe-area-inset-bottom)) !important; }
  .drawer-shipping-meter, .drawer-impact-note { display: none !important; }
  .drawer-total > div { font-size: 24px; }
  .drawer-total > p { margin: 4px 0 12px; font-size: 10px; }
  .drawer-checkout { min-height: 54px; border-radius: 999px; background: #171712; color: #fff; }
  .drawer-total small { margin-top: 10px; font-size: 10px; }

  /* Checkout: one calm column, no desktop split/overflow */
  .woocommerce-checkout .mizu-checkout-page,
  .mizu-classic-checkout-page .mizu-checkout-page { min-height: 100svh; background: #fbfaf6 !important; }
  .woocommerce-checkout .mizu-checkout-brand,
  .mizu-classic-checkout-page .mizu-checkout-brand {
    box-sizing: border-box;
    height: 68px !important;
    padding: 0 var(--mobile-gutter) !important;
    border-bottom: 1px solid rgba(23,23,18,.1);
  }
  .mizu-checkout-brand img { max-width: 116px !important; max-height: 36px !important; }
  .mizu-checkout-brand span { font-size: 8px; letter-spacing: .1em; }
  .woocommerce-checkout form.mizu-checkout-form,
  .mizu-classic-checkout-page form.mizu-checkout-form {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: #fbfaf6 !important;
  }
  .woocommerce-checkout form.mizu-checkout-form > .woocommerce-NoticeGroup-checkout,
  .woocommerce-checkout form.mizu-checkout-form > .woocommerce-notices-wrapper {
    order: -2 !important;
    padding: 10px var(--mobile-gutter) 0 !important;
    background: #fbfaf6 !important;
  }
  .woocommerce-checkout form.mizu-checkout-form > .mizu-checkout-main,
  .mizu-classic-checkout-page form.mizu-checkout-form > .mizu-checkout-main {
    order: 1;
    padding: 24px var(--mobile-gutter) 30px !important;
    background: #fbfaf6 !important;
  }
  .woocommerce-checkout form.mizu-checkout-form > .mizu-checkout-summary,
  .mizu-classic-checkout-page form.mizu-checkout-form > .mizu-checkout-summary {
    order: 2;
    padding: 28px var(--mobile-gutter) calc(34px + env(safe-area-inset-bottom)) !important;
    border-top: 1px solid rgba(23,23,18,.1) !important;
    border-left: 0 !important;
    background: #f1eee7 !important;
  }
  .checkout-assurance {
    display: flex !important;
    gap: 8px;
    margin-bottom: 26px !important;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .checkout-assurance::-webkit-scrollbar { display: none; }
  .checkout-assurance span { flex: 0 0 auto; min-height: 42px; padding: 0 13px; }
  .checkout-progress { margin-bottom: 28px !important; }
  .checkout-section-title { margin-top: 28px !important; }
  .woocommerce-checkout .checkout-section-title h2 { font-size: 29px !important; }
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper > p,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > p,
  .woocommerce-checkout #billing_first_name_field,
  .woocommerce-checkout #shipping_first_name_field,
  .woocommerce-checkout #billing_last_name_field,
  .woocommerce-checkout #shipping_last_name_field,
  .woocommerce-checkout #billing_city_field,
  .woocommerce-checkout #shipping_city_field,
  .woocommerce-checkout #billing_state_field,
  .woocommerce-checkout #shipping_state_field,
  .woocommerce-checkout #billing_postcode_field,
  .woocommerce-checkout #shipping_postcode_field,
  .woocommerce-checkout #billing_phone_field,
  .woocommerce-checkout #shipping_phone_field { grid-column: 1 !important; }
  .woocommerce-checkout .mizu-checkout-main .input-text,
  .woocommerce-checkout .mizu-checkout-main select,
  .woocommerce-checkout .mizu-checkout-main .select2-selection {
    width: 100% !important;
    min-height: 54px !important;
    padding: 15px 14px !important;
    border-radius: 13px !important;
    font-size: 16px !important;
  }
  .woocommerce-checkout .mizu-checkout-summary table.shop_table { padding: 16px !important; border-radius: 16px !important; }
  .woocommerce-checkout .mizu-checkout-summary table th,
  .woocommerce-checkout .mizu-checkout-summary table td { padding: 12px 0 !important; font-size: 12px; }
  .woocommerce-checkout .woocommerce-checkout-payment { border-radius: 16px !important; }
  .woocommerce-checkout .wc_payment_methods li { padding: 17px 16px !important; }
  .woocommerce-checkout .payment_box { margin: 13px -16px -17px !important; padding: 16px !important; }
  .woocommerce-checkout #place_order { width: 100% !important; min-height: 56px !important; font-size: 14px !important; }
  .checkout-impact { padding: 15px !important; border-radius: 14px; font-size: 11px; line-height: 1.5; }

  /* Account, authentication and order tracking */
  .mizu-account-page-shell { min-height: calc(100svh - 64px); }
  .mizu-account-page-shell .woocommerce { width: 100% !important; padding: 24px 10px 50px !important; }
  .mizu-account-page-shell .mizu-auth-page { padding: 10px 0 30px !important; }
  .mizu-auth-page > .auth-intro { margin-bottom: 24px !important; padding: 0 14px; }
  .mizu-auth-page > .auth-intro h1 { margin-top: 12px; font-size: clamp(42px, 12vw, 54px) !important; }
  .mizu-auth-grid.is-single { width: 100% !important; }
  .mizu-auth-card.login-card { padding: 26px 18px 22px !important; border-radius: 20px !important; }
  .mizu-auth-card [data-auth-panel] > h2 { font-size: 32px; }
  .mizu-auth-card input { min-height: 52px !important; border-radius: 12px !important; font-size: 16px !important; }
  .auth-name-row { grid-template-columns: 1fr !important; gap: 0 !important; }
  .auth-actions { align-items: flex-start !important; flex-direction: column !important; gap: 12px !important; }
  .mizu-auth-submit { min-height: 52px !important; }

  .woocommerce-account.logged-in .mizu-account-page-shell .woocommerce {
    display: block !important;
    border-radius: 20px !important;
    overflow: hidden !important;
  }
  .woocommerce-account.logged-in .mizu-account-nav {
    width: 100% !important;
    min-height: 0 !important;
    padding: 14px 12px !important;
    border-radius: 20px 20px 0 0 !important;
  }
  .mizu-account-nav > p { padding: 0 4px; margin-bottom: 10px; }
  .mizu-account-nav ul { gap: 7px !important; padding-bottom: 2px; }
  .mizu-account-nav li a { min-height: 42px !important; padding: 0 14px !important; }
  .woocommerce-account .woocommerce-MyAccount-content { width: 100% !important; padding: 24px 14px 34px !important; }
  .mizu-account-dashboard .account-welcome h1 { font-size: clamp(39px, 11vw, 52px) !important; line-height: .9 !important; overflow-wrap: anywhere; }
  .account-welcome > p { font-size: 13px; line-height: 1.55; }
  .account-latest-order, .account-empty-order, .account-quick-grid > a,
  .woocommerce-account .woocommerce-Addresses .woocommerce-Address {
    border-radius: 17px !important;
  }
  .account-quick-grid { grid-template-columns: 1fr !important; gap: 10px !important; }
  .account-quick-grid > a { min-height: 132px !important; padding: 20px !important; }
  .latest-order-products { grid-template-columns: 1fr !important; }
  .woocommerce-account .woocommerce-Addresses { grid-template-columns: 1fr !important; gap: 12px !important; }
  .woocommerce-account .woocommerce-address-fields__field-wrapper { grid-template-columns: 1fr !important; }
  .woocommerce-account .woocommerce-address-fields__field-wrapper > p { grid-column: 1 !important; }

  /* Order received */
  .selectraven-thankyou { width: calc(100% - 24px) !important; padding: 36px 0 54px !important; }
  .thankyou-hero { margin-bottom: 28px; }
  .thankyou-hero h1 { font-size: clamp(44px, 13vw, 58px) !important; }
  .thankyou-meta { grid-template-columns: 1fr !important; border-radius: 17px; }
  .thankyou-meta > div { padding: 17px !important; border-right: 0 !important; border-bottom: 1px solid rgba(23,23,18,.1) !important; }
  .thankyou-meta > div:last-child { border-bottom: 0 !important; }
  .thankyou-actions { align-items: stretch !important; flex-direction: column !important; gap: 14px !important; text-align: center; }
  .thankyou-actions .button { justify-content: center; min-height: 52px; }
  .thankyou-impact { padding: 17px; }
  .selectraven-thankyou .woocommerce-order-details,
  .selectraven-thankyou .woocommerce-customer-details { padding: 18px !important; border-radius: 18px !important; overflow-x: auto; }
  .selectraven-thankyou .woocommerce-columns--addresses { grid-template-columns: 1fr !important; }

  /* Footer */
  .footer-pets { min-height: 52svh !important; }
  .footer-pets p { font-size: clamp(48px, 14vw, 66px) !important; }
  .footer-links { grid-template-columns: 1fr 1fr !important; gap: 34px 20px !important; padding: 50px var(--mobile-gutter) !important; }
  .footer-links > div:first-child { grid-column: 1 / -1; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 10px; padding: 18px var(--mobile-gutter) calc(18px + env(safe-area-inset-bottom)) !important; }
}

/* 2026-08 mobile storefront refinement: stronger brand, cleaner hero type,
   and a compact two-column featured edit. Desktop remains unchanged. */
@media (max-width: 767px) {
  .store-logo {
    width: 142px !important;
    height: 54px !important;
    overflow: visible !important;
  }
  .store-logo img {
    transform: scale(1.8);
    transform-origin: center;
  }

  .gateway-intro {
    top: calc(70px + env(safe-area-inset-top)) !important;
    width: calc(100% - 28px) !important;
  }
  .gateway-brand {
    width: 154px !important;
    margin: 0 auto 12px !important;
  }
  .gateway-brand img { transform: scale(1.65); }
  .gateway-intro h1 {
    max-width: 360px;
    margin-inline: auto;
    font-size: clamp(42px, 11.5vw, 51px) !important;
    line-height: .88 !important;
    letter-spacing: -.048em;
    text-wrap: balance;
  }
  .gateway-note { display: none !important; }
  .gateway-world > strong {
    font-size: clamp(62px, 18vw, 82px) !important;
    line-height: .82 !important;
  }
  .gateway-world > em {
    min-height: 48px;
    padding-inline: 18px !important;
    white-space: nowrap;
  }

  .hero-copy {
    top: 51% !important;
    width: calc(100% - 26px) !important;
  }
  .hero-copy h1 {
    max-width: 365px;
    margin-inline: auto;
    font-size: clamp(43px, 12.2vw, 54px) !important;
    line-height: .88 !important;
    letter-spacing: -.05em;
    text-wrap: balance;
    overflow-wrap: normal;
  }
  .hero-copy p {
    max-width: 340px;
    margin-top: 14px !important;
    padding-inline: 8px;
  }
  .hero-pet-choices {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(100%, 338px);
    margin-inline: auto;
  }
  .hero-pet-choices a {
    min-width: 0 !important;
    width: 100%;
    padding-inline: 10px !important;
    white-space: nowrap;
  }

  .collection.collection-v14 { display: none !important; }
  .mobile-featured-products {
    display: block;
    padding: 54px 0 64px;
    background: #f7f3ea;
    color: #171712;
  }
  .mobile-featured-heading {
    padding: 0 var(--mobile-gutter) 28px;
  }
  .mobile-featured-heading > p {
    margin: 0 0 11px;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .22em;
  }
  .mobile-featured-heading h2 {
    max-width: 340px;
    margin: 0;
    font-family: var(--font-display, Georgia, serif);
    font-size: clamp(39px, 11.5vw, 50px);
    font-weight: 400;
    line-height: .91;
    letter-spacing: -.045em;
    text-wrap: balance;
  }
  .mobile-featured-heading > span {
    display: block;
    max-width: 330px;
    margin-top: 15px;
    color: rgba(23, 23, 18, .67);
    font-size: 12px;
    line-height: 1.55;
  }
  .mobile-featured-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid rgba(23, 23, 18, .12);
  }
  .mobile-featured-card {
    min-width: 0;
    border-right: 1px solid rgba(23, 23, 18, .12);
    border-bottom: 1px solid rgba(23, 23, 18, .12);
    background: rgba(255,255,255,.12);
  }
  .mobile-featured-card:nth-child(2n) { border-right: 0; }
  .mobile-featured-media {
    position: relative;
    display: block;
    aspect-ratio: 1 / 1;
    margin: 12px 10px 0;
    overflow: hidden;
    background: #f2eee6;
  }
  .mobile-featured-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s cubic-bezier(.2,.7,.2,1);
  }
  .mobile-featured-media:active img { transform: scale(1.025); }
  .mobile-featured-media > span {
    position: absolute;
    right: 9px;
    bottom: 9px;
    display: grid;
    place-items: center;
    width: 43px;
    height: 43px;
    border-radius: 50%;
    background: rgba(255,250,242,.92);
    color: #171712;
    font-size: 7px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    backdrop-filter: blur(10px);
  }
  .mobile-featured-body {
    display: flex;
    min-height: 272px;
    padding: 18px 11px 12px;
    flex-direction: column;
  }
  .mobile-featured-body > p {
    min-height: 20px;
    margin: 0 0 7px;
    overflow: hidden;
    color: rgba(23,23,18,.56);
    font-size: 7.5px;
    font-weight: 700;
    letter-spacing: .17em;
    line-height: 1.35;
    text-transform: uppercase;
  }
  .mobile-featured-body h3 {
    min-height: 49px;
    margin: 0;
    font-family: var(--font-display, Georgia, serif);
    font-size: clamp(21px, 6.3vw, 28px);
    font-weight: 600;
    line-height: .92;
    letter-spacing: -.035em;
  }
  .mobile-featured-body h3 a { color: inherit; text-decoration: none; }
  .mobile-featured-description {
    display: -webkit-box;
    min-height: 48px;
    margin-top: 11px;
    overflow: hidden;
    color: rgba(23,23,18,.64);
    font-size: 10px;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  .mobile-featured-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    margin-top: auto;
    padding: 13px 0 12px;
  }
  .mobile-featured-swatches { display: flex; gap: 5px; }
  .mobile-featured-swatches i {
    width: 10px;
    height: 10px;
    border: 1px solid rgba(23,23,18,.15);
    border-radius: 50%;
    background: #efd2c8;
  }
  .mobile-featured-swatches i:nth-child(2) { background: #d9e8ec; }
  .mobile-featured-swatches i:nth-child(3) { background: #efd978; }
  .mobile-featured-meta strong,
  .mobile-featured-meta .amount {
    color: #967300;
    font-size: 15px !important;
    font-weight: 700;
    white-space: nowrap;
  }
  .mobile-featured-action {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
    min-height: 48px;
    margin: 0 !important;
    padding: 0 8px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #171712 !important;
    color: #fff !important;
    font-size: 8px !important;
    font-weight: 700 !important;
    letter-spacing: .12em;
    line-height: 1 !important;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
  }
  .mobile-featured-action i { font-size: 12px; }
}

@media (max-width: 360px) {
  .store-logo { width: 126px !important; }
  .gateway-intro h1 { font-size: 40px !important; }
  .hero-copy h1 { font-size: 41px !important; }
  .mobile-featured-body { min-height: 262px; padding-inline: 9px; }
  .mobile-featured-body h3 { font-size: 20px; }
  .mobile-featured-meta strong,
  .mobile-featured-meta .amount { font-size: 13px !important; }
  .mobile-featured-action { font-size: 7px !important; }
}

/* Keep the compact footer content on phones, but remove the oversized
   lifestyle billboard from the desktop storefront. */
@media (min-width: 768px) {
  .site-footer-new .footer-pets {
    display: none !important;
  }
}

@media (max-width: 360px) {
  .shop-card-body { min-height: 126px; padding-inline: 9px !important; }
  .shop-card-body h2 { font-size: 17px !important; }
  .shop-card-cart { margin-inline: 8px !important; }
  .shop-card-cart button, .shop-card-options { font-size: 7px !important; }
  .drawer-line { grid-template-columns: 72px 1fr auto !important; }
  .drawer-line img { width: 72px !important; height: 72px !important; }
  .footer-links { grid-template-columns: 1fr !important; }
  .footer-links > div:first-child { grid-column: auto; }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  .shop-card-new, [data-reveal] { opacity: 1 !important; transform: none !important; filter: none !important; }
}

/* Mobile storefront finishing pass: compact, fixed grids and reliable controls. */
@media (max-width: 767px) {
  .hero-pet-choices {
    display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: min(100%, 360px) !important; gap: 10px !important; margin-inline: auto !important;
  }
  .hero-pet-choices a, .hero-pet-choices button {
    display: flex !important; align-items: center !important; justify-content: center !important;
    width: 100% !important; min-width: 0 !important; min-height: 54px !important;
    padding: 0 12px !important; line-height: 1 !important; text-align: center !important;
  }
  .home-conversion-moment {
    grid-template-columns: 1fr !important; gap: 22px !important;
    padding: 44px var(--mobile-gutter) 48px !important; overflow: hidden;
  }
  .conversion-orbit {
    min-height: auto !important; display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important; padding: 18px !important; border-radius: 28px !important;
  }
  .conversion-orbit::before, .conversion-orbit::after { display: none !important; }
  .conversion-orbit > * {
    position: static !important; transform: none !important; min-width: 0 !important;
    justify-content: center !important; padding: 13px 8px !important;
  }
  .home-stories, .reel-section { padding: 44px var(--mobile-gutter) !important; }
  .story-grid {
    display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .story-grid > a { min-width: 0 !important; }
  .story-grid img { width: 100% !important; height: auto !important; aspect-ratio: 4 / 5; object-fit: cover; }
  .story-grid strong { font-size: 12px !important; line-height: 1.12 !important; }
  .story-grid span, .story-grid small { font-size: 8px !important; }
  .reel-section > header > div { display: none !important; }
  .reel-track {
    display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important; overflow: visible !important; scroll-snap-type: none !important;
    padding: 0 !important; transform: none !important;
  }
  .reel-card { flex: auto !important; width: auto !important; min-width: 0 !important; border-radius: 14px !important; }
  .reel-card:nth-child(n+4) { display: none !important; }
  .rescue-journal-home { padding: 48px var(--mobile-gutter) !important; gap: 24px !important; }
  .rescue-copy h2 { font-size: clamp(42px, 12vw, 56px) !important; }
  .rescue-media {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: 160px !important; gap: 8px !important;
  }
  .rescue-media figure:first-child { grid-row: auto !important; }
  .rescue-media figure:nth-child(n+3), .rescue-media > div { display: none !important; }
  .pet-social { padding: 48px var(--mobile-gutter) !important; }
  .pet-social-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; grid-auto-rows: auto !important; }
  .pet-social-grid figure:nth-child(n+5) { display: none !important; }
  .back-to-top { right: 14px; bottom: 88px; width: 44px; height: 44px; }
}
