picture{display:block}
.tnh-menu,.desktop-nav ul,.mobile-menu ul,.footer-grid ul{list-style:none;margin:0;padding:0}
.tnh-menu--desktop,.desktop-nav ul{display:flex;gap:32px;align-items:center}
.tnh-menu--mobile a,.mobile-menu a{display:block}
.tnh-menu--footer a,.footer-grid .menu a,.footer-grid ul a{display:block;color:#dceaf7;text-decoration:none;margin:8px 0}
.tnh-internal-note,.tnh-placeholder{display:block;margin:8px 0;background:#fff6d8;color:#5c4a12;padding:8px 10px;border-radius:8px}
.hero-v9-desktop picture,.hero-v9-art picture,.hero-v9-mobile picture,.brand picture,.footer-brand picture{display:contents}
.tnh-card-price{display:grid;gap:4px;padding:8px 12px 16px;text-align:center;color:#12315c}
.tnh-card-price span{font-weight:800}
.tnh-card-price small{color:#62748d}
.tnh-price-live .amount{font-family:Georgia,"Times New Roman",serif;font-size:32px;color:#0b2d5b}
.tnh-price-missing{color:#8a3b32;font-weight:800}
.mobile-menu.is-open{display:block}
@media(min-width:901px){.mobile-menu,.mobile-menu.is-open{display:none}}
.tnh-hp{position:absolute;left:-9999px}
.subscription-art-card{position:relative}
.tnh-waitlist-cover{position:absolute;z-index:2;left:10%;right:10%;top:7%;background:#0b2d5b;color:#fff;text-align:center;font-weight:800;font-size:15px;line-height:1.25;padding:10px 12px;border-radius:14px;pointer-events:none}
#subscriptionModal [hidden]{display:none !important}
#subscriptionWaitlist{display:grid;gap:12px;margin-top:16px}
#subscriptionWaitlist input[type=email]{width:100%;border:1px solid #a7cfe6;border-radius:999px;padding:14px 18px;font-size:16px;color:#0b2d5b}
#waitlistStatus{min-height:1.4em;margin-top:12px;font-weight:800;color:#1f7a3f}
#zipInput{display:block;width:min(360px,100%);margin-top:12px;border:1px solid #8bc7ec;border-radius:999px;padding:14px 18px;font-size:16px;color:#0b2d5b;font-weight:800}
.product-split{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
.purchase-options{display:grid;gap:12px;margin:18px 0}
.purchase-row{display:flex;justify-content:space-between;gap:16px;align-items:center;border:1px solid #cfe4f2;border-radius:18px;padding:14px 16px}
.purchase-row .btn{margin-left:12px}
.lab-page h1,.shipping-page h1{font-family:Georgia,"Times New Roman",serif;color:#0b2d5b;font-size:clamp(42px,6vw,72px);line-height:.95;margin:10px 0 16px}
.pdf-frame{width:100%;height:82vh;min-height:640px;border:1px solid #cfe4f2;border-radius:24px;background:#fff}
.lab-actions{display:flex;gap:12px;margin:18px 0}
.tnh-commerce .woocommerce-message,.tnh-commerce .woocommerce-error,.tnh-commerce .woocommerce-info{padding:14px 16px;border-radius:12px}
.tnh-commerce table.shop_table{width:100%;border-collapse:collapse}
.tnh-commerce table.shop_table th,.tnh-commerce table.shop_table td{border-bottom:1px solid #dbe7ef;padding:12px 8px;text-align:left}
.tnh-commerce .button,.tnh-commerce button[type=submit]{background:#0b2d5b;color:#fff;border:0;border-radius:999px;padding:12px 18px;font-weight:800;text-decoration:none;display:inline-block}
.tnh-commerce .woocommerce-checkout .form-row{margin-bottom:14px}
.tnh-commerce .woocommerce-checkout input.input-text,.tnh-commerce .woocommerce-checkout select,.tnh-commerce .woocommerce-checkout textarea{width:100%;padding:12px;border:1px solid #b7d4e6;border-radius:12px}
@media(max-width:800px){.product-split{grid-template-columns:1fr}.pdf-frame{height:70vh;min-height:480px}}

/* ===== APPENDED mobile-fix.css 2026-10-28 ===== */
/* MOBILE FIX 2026-10-28
   TN Hemp preview — owner-requested mobile fixes.
   Load AFTER front.css + additions.css (or paste into Customizer Additional CSS).
   Selectors match tnh-theme 0.1.4.1 (hero-v9, pack-art-grid, lab-mobile-copy, dog-size-jumps, mobile-buy).
*/

/* -------------------------------------------------------------------------- */
/* 1) Cookie badge / CMP vs sticky .mobile-buy + product prices               */
/* -------------------------------------------------------------------------- */
@media (max-width: 900px) {
  /* Sticky buy stays on top of content; cookie revisit floats ABOVE it. */
  .mobile-buy {
    z-index: 60;
    padding-bottom: max(10px, env(safe-area-inset-bottom, 0px));
  }

  /* CookieYes */
  .cky-btn-revisit-wrapper,
  .cky-revisit-bottom,
  .cky-consent-container.cky-box-bottom-left,
  .cky-consent-container.cky-box-bottom-right,
  .cky-modal.cky-box-bottom-left,
  .cky-modal.cky-box-bottom-right,
  /* Cookie Law Info / GDPR Cookie Consent */
  #cookie-law-info-again,
  .cli-show-banner-btn,
  .cli-modal-close,
  /* Complianz */
  .cmplz-manage-consent,
  .cmplz-btn.cmplz-manage-consent,
  #cmplz-manage-consent .cmplz-manage-consent,
  /* Cookie Notice / Osano / Moove / generic revoke */
  .cc-revoke,
  .cc-window.cc-bottom,
  .osano-cm-widget,
  #moove_gdpr_cookie_info_bar,
  .moove-gdpr-icon-box,
  #moove_gdpr_cookie_icon,
  .cookie-notice-container,
  #cookie-notice,
  .cn-close-icon,
  .gdpr-cookie-notice,
  [class*="cookie"][class*="revisit"],
  [class*="cookie-btn"],
  [id*="cookie"][class*="float"] {
    bottom: calc(72px + env(safe-area-inset-bottom, 0px)) !important;
  }

  /* Full-width cookie banners: keep above sticky bar so Accept isn't trapped under CTA */
  #cookie-law-info-bar,
  .cli-modal-dialog,
  .cky-consent-bar,
  .cmplz-cookiebanner,
  .cc-window.cc-banner {
    bottom: calc(64px + env(safe-area-inset-bottom, 0px)) !important;
  }

  /* Price / pack cards: clear sticky bar + floating badge zone */
  .pack-art-grid,
  .product-carousel,
  .tnh-card-price,
  .price-block {
    position: relative;
    z-index: 1;
  }
}

/* -------------------------------------------------------------------------- */
/* 2) Products swipe discovery — peek + cue (not full-bleed, no hidden scroll)*/
/* -------------------------------------------------------------------------- */
@media (max-width: 760px) {
  /* Visible cue above the pack carousel */
  .shop-v7 .section-heading {
    position: relative;
    padding-bottom: 8px;
  }
  .shop-v7 .section-heading::after {
    content: "Swipe for packs →";
    display: block;
    margin-top: 10px;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: #258fda;
    text-transform: none;
  }

  .pack-art-grid {
    display: flex !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    gap: 14px !important;
    margin-left: -12px !important;
    margin-right: -12px !important;
    padding: 8px 12px 28px !important;
    scroll-padding-inline: 12px;
    /* Show a thin cue scrollbar (was fully hidden) */
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }
  .pack-art-grid::-webkit-scrollbar {
    display: block !important;
    height: 4px;
  }
  .pack-art-grid::-webkit-scrollbar-thumb {
    background: #9ccbe8;
    border-radius: 999px;
  }
  .pack-art-grid::-webkit-scrollbar-track {
    background: #e8f3fa;
    border-radius: 999px;
  }

  /* ~80vw card → next pack peeks */
  .pack-art-card {
    flex: 0 0 min(80vw, 380px) !important;
    scroll-snap-align: center;
  }
  .pack-art-card img {
    max-height: none;
  }

  /* Optional end-of-track hint */
  .pack-art-grid::after {
    content: "";
    flex: 0 0 8px;
  }

  /* Legacy product-carousel (if present on any template) */
  .product-carousel {
    display: flex !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    gap: 12px;
    padding: 0 8px 16px;
    scrollbar-width: thin;
  }
  .product-card {
    min-width: 78% !important;
    max-width: 85vw;
    scroll-snap-align: center;
  }
}

@media (max-width: 520px) {
  .pack-art-card {
    flex: 0 0 min(82vw, 360px) !important;
  }
}

/* -------------------------------------------------------------------------- */
/* 3) Hero headroom — shorter image; copy STACKED below (no overlay on bottle)*/
/* -------------------------------------------------------------------------- */
@media (max-width: 760px) {
  .hero-v9-mobile {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    background: #0b2d5b;
  }

  /* picture uses display:contents in additions.css — img participates in flex */
  .hero-v9-mobile picture {
    display: contents;
  }

  .hero-v9-mobile-img,
  .hero-v9-mobile img.hero-v9-mobile-img {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    height: min(48svh, 360px) !important;
    max-height: 380px !important;
    object-fit: cover !important;
    /* Crop toward dog face/body; less empty sky */
    object-position: center 32% !important;
    order: 1;
  }

  /* Kill full-bleed overlay shade; copy sits on solid navy band instead */
  .hero-v9-mobile-shade {
    display: none !important;
  }

  .hero-v9-mobile-copy {
    position: relative !important;
    z-index: 2;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: auto !important;
    max-width: none !important;
    margin: 0;
    padding: 22px 18px 28px !important;
    background: #0b2d5b;
    color: #fff;
    text-shadow: none !important;
    order: 2;
  }

  .hero-v9-mobile-copy h1 {
    font-size: clamp(40px, 11vw, 54px) !important;
    line-height: 0.9 !important;
    margin: 8px 0 12px !important;
    max-width: none;
  }

  .hero-v9-mobile-copy p {
    font-size: 15px !important;
    max-width: none !important;
    margin-bottom: 16px !important;
    text-shadow: none !important;
  }

  .hero-v9-mobile-copy .hero-cta,
  .hero-v9-mobile-copy .btn {
    min-height: 48px;
  }
}

@media (max-width: 520px) {
  .hero-v9-mobile-img,
  .hero-v9-mobile img.hero-v9-mobile-img {
    height: min(44svh, 320px) !important;
    object-position: center 28% !important;
  }
  .hero-v9-mobile-copy {
    padding: 18px 16px 24px !important;
  }
  .hero-v9-mobile-copy h1 {
    font-size: 42px !important;
  }
}

/* -------------------------------------------------------------------------- */
/* 4) Lab photo on mobile — original PNG missing; use derived webp OR card   */
/* -------------------------------------------------------------------------- */
@media (max-width: 900px) {
  /* Prefer the real <picture> card (webp derivatives exist on server) */
  .lab-master-card {
    display: block !important;
    margin-bottom: 22px;
    border-radius: 24px;
    overflow: hidden;
  }
  .lab-master-card img {
    width: 100%;
    display: block;
  }

  .lab-mobile-copy {
    display: block !important;
  }

  /* Kill broken :before that pointed at missing ../images/original/lab-master.png */
  .lab-mobile-copy::before {
    content: none !important;
    display: none !important;
    background: none !important;
    height: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
  }
}

/* If parent restores original/lab-master.png, this optional rule can re-enable
   a CSS background instead of the card — left disabled on purpose.
   .lab-mobile-copy::before {
     content: "";
     display: block;
     height: 280px;
     border-radius: 24px;
     background: url("../images/original/lab-master.png") left center / auto 100% no-repeat;
     margin-bottom: 22px;
   }
*/

/* Absolute fallback URL if lab-master-card is absent from markup somewhere */
@media (max-width: 900px) {
  .lab-mobile-copy.lab-needs-bg::before {
    content: "" !important;
    display: block !important;
    height: 280px;
    border-radius: 24px;
    margin-bottom: 22px;
    box-shadow: 0 18px 40px rgba(11, 45, 91, 0.1);
    background-image: url("../images/derived/lab-master-800.webp");
    background-position: left center;
    background-size: auto 100%;
    background-repeat: no-repeat;
  }
}

/* -------------------------------------------------------------------------- */
/* 5) Dog Guide — 2×2 grid (all sizes visible); shorter active preview       */
/* -------------------------------------------------------------------------- */
@media (max-width: 900px) {
  .dog-size-jumps {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
    margin: 20px 0 !important;
  }

  .dog-jump {
    min-width: 0 !important;
    width: auto !important;
    min-height: 96px !important;
    padding: 10px 12px !important;
    gap: 8px !important;
    scroll-snap-align: unset !important;
  }

  .dog-thumb {
    width: 64px !important;
    height: 58px !important;
  }

  .dog-jump strong {
    font-size: 16px !important;
  }

  .dog-jump small {
    font-size: 12px;
    margin-top: 2px !important;
  }

  /* Less scroll before weight / dose controls */
  .active-dog-card {
    height: 150px !important;
    padding-top: 8px !important;
    gap: 12px !important;
  }

  .active-dog-card img {
    max-height: 130px !important;
    max-width: 55% !important;
  }

  .active-dog-card span {
    font-size: 24px !important;
  }
}

@media (max-width: 520px) {
  .dog-jump {
    min-height: 88px !important;
    flex-direction: column;
    align-items: flex-start !important;
    justify-content: center;
  }

  .dog-thumb {
    width: 56px !important;
    height: 48px !important;
  }

  .active-dog-card {
    height: 130px !important;
  }

  .active-dog-card img {
    max-height: 112px !important;
  }

  .active-dog-card span {
    font-size: 22px !important;
  }
}

/* End MOBILE FIX 2026-10-28 */
