/* Mobile commerce refinement. Loaded after the original Holdfast templates.
   Keep their display fonts, artwork and desktop composition intact. */
@media (max-width: 767px) {
  body.hf-page:not(.woocommerce-checkout) .hf-announce {
    padding: 7px 16px; font-size: 14px; line-height: 1.4; letter-spacing: .03em;
  }
  body.hf-page:not(.woocommerce-checkout) .hf-announce a { font-size: inherit; }
  /* All promises remain available in a compact, horizontally scrollable strip. */
  body.hf-page:not(.woocommerce-checkout) .hf-reassurance { padding: 8px 0; }
  body.hf-page:not(.woocommerce-checkout) .hf-reassurance__inner {
    flex-wrap: nowrap; justify-content: flex-start; gap: 20px; padding: 0 16px;
    overflow-x: auto; scrollbar-width: thin; overscroll-behavior-x: contain;
  }
  body.hf-page:not(.woocommerce-checkout) .hf-reassurance__item {
    flex: 0 0 auto; white-space: nowrap; font-size: 14px; line-height: 1.5; letter-spacing: .02em;
  }
  body.hf-page:not(.woocommerce-checkout) .hf-header__inner { padding: 8px 0; gap: 12px; }
  body.hf-page:not(.woocommerce-checkout) .hf-header__logo img { height: 44px !important; width: auto; }
  body.hf-page:not(.woocommerce-checkout) .hf-header__menu-btn,
  body.hf-page:not(.woocommerce-checkout) .hf-header__cart { min-width: 44px; min-height: 44px; }
  body.hf-page:not(.woocommerce-checkout) .hf-header__cart-count { font-size: 14px; min-width: 20px; height: 20px; }

  body.hf-page.home .hf-hero { min-height: 0; }
  body.hf-page.home .hf-hero__content { padding: 24px 0 28px; }
  body.hf-page.home .hf-hero__badge { display: none; }
  body.hf-page.home .hf-hero__logo { max-width: 310px; width: 100%; }
  body.hf-page.home .hf-hero__sub { font-size: 16px; line-height: 1.45; margin: 16px auto 20px; }
  body.hf-page.home .hf-hero__ctas { gap: 10px; opacity: 1; animation: none; }
  body.hf-page.home .hf-hero__ctas .hf-btn { min-height: 48px; padding: 12px 18px; font-size: 16px; }

  /* Override the category-landing cinematic plugin's mobile !important rules. */
  body.hf-page .hf-cat-hero { min-height: 0 !important; margin-bottom: 16px !important; }
  body.hf-page .hf-cat-hero .hf-container { padding: 24px 18px !important; text-align: left !important; }
  body.hf-page .hf-cat-hero .hf-breadcrumb {
    justify-content: flex-start !important; margin-bottom: 14px !important;
    font-size: 14px !important; letter-spacing: .02em !important; line-height: 1.5;
  }
  body.hf-page .hf-cat-hero__label, body.hf-page .hf-shop-hero__label { display: none !important; }
  body.hf-page .hf-cat-hero h1 { font-size: clamp(32px, 9vw, 42px) !important; line-height: 1.05 !important; margin-bottom: 12px !important; }
  body.hf-page .hf-cat-hero__desc { font-size: 16px !important; line-height: 1.5 !important; margin: 0 0 14px !important; }
  body.hf-page .hf-cat-hero__count { font-size: 14px; letter-spacing: .02em; padding: 4px 10px; }
  body.hf-page .hf-shop-hero { padding: 24px 0; }
  body.hf-page .hf-shop-hero__breadcrumb { margin-bottom: 14px; }
  body.hf-page .hf-shop-hero__desc { font-size: 16px; }
  body.hf-page .hf-cat-filters { margin-top: 12px; }

  /* Secondary commerce copy has a 14px floor; product names remain body-sized. */
  body.hf-page:not(.woocommerce-checkout) :is(.hf-breadcrumb, .hf-shop-hero__breadcrumb, .hf-shop-hero__stat-label,
    .hf-card__cat, .hf-card__badge, .hf-card__cta, .hf-card__price del, .hf-product__quick,
    .hf-category__count, .hf-section__tag, .hf-footer-mini p, .hf-footer-mini__links a,
    .hf-cat-filters__toggle, .hf-cat-filters__label, .hf-cat-filters__btn, .hf-cat-filters__checkbox,
    .hf-nl-modal__hint, .hf-nl-modal__copy, .hf-nl-modal__cta) { font-size: 14px; }
  body.hf-page :is(.hf-product__name, .hf-card__name) { font-size: 16px; line-height: 1.4; }
  body.hf-page .hf-cat-filters :is(input, select) { font-size: 16px; min-height: 44px; }
  body.hf-page .hf-cat-filters :is(button, a) { min-height: 44px; }
  body.hf-page:not(.woocommerce-checkout) :is(.hf-breadcrumb, .hf-breadcrumb a, .hf-shop-hero__breadcrumb,
    .hf-shop-hero__breadcrumb a, .hf-shop-hero__stat-label, .hf-card__cat,
    .hf-footer-mini p, .hf-footer-mini__links a) { color: #c5c0b8; }
  body.hf-page .hf-cat-hero__bg::after { background: rgba(10,10,10,.82); }

  /* Move the existing GTranslate DOM, preserving its handlers and language URLs. */
  .hf-commerce-language { padding: 16px 22px 24px; width: 100%; box-sizing: border-box; flex-shrink: 0; }
  .hf-commerce-language__label { display: block; color: #c5c0b8; font-size: 14px; margin: 0 0 8px; }
  #hfMobileNav .hf-commerce-language .gt_switcher_wrapper { position: static !important; inset: auto !important; z-index: auto !important; }
  #hfMobileNav .hf-commerce-language .gt_switcher { width: 100%; max-width: 280px; }
  #hfMobileNav .hf-commerce-language .gt_switcher a {
    font-family: 'Barlow', sans-serif; font-size: 16px; letter-spacing: 0;
    line-height: 24px; padding: 10px 12px; min-height: 44px; box-sizing: border-box; width: 100%;
  }
  #hfMobileNav .hf-commerce-language .gt_selected a { color: #333; }
  #hfMobileNav .hf-commerce-language .gt_option { width: auto; max-height: 220px; }
  #hfMobileNav .hf-commerce-language .gt_option a { color: #222; }
  #hfMobileNav.hf-mobile-nav { overflow-y: auto; justify-content: flex-start; padding-top: 76px; gap: 16px; }
  #hfMobileNav .hf-commerce-language a:focus-visible,
  .hf-page .hf-reassurance__inner:focus-visible { outline: 2px solid #c9a96e; outline-offset: 3px; }
}
@media (max-width: 767px) {
  /* The complete category description remains below the catalogue. */
  body.hf-page .hf-cat-hero .hf-container { padding-top: 18px !important; padding-bottom: 18px !important; }
  body.hf-page .hf-cat-hero__desc {
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
  }
  body.hf-page .hf-cat-hero .hf-breadcrumb { margin-bottom: 10px !important; }
  /* 29 gallery dots previously imposed a 356px min-content track at 390px. */
  body.hf-page.single-product .hf-gallery { min-width: 0; }
  body.hf-page.single-product .hf-gallery__dots { flex-wrap: wrap; max-width: 100%; }
  body.hf-page.single-product :is(.hf-trust__label, .hf-trust__desc, .hf-trust-micro__item,
    .hf-info__cat, .hf-info__rating a, .hf-rating-num em, .hf-rating-verified,
    .hf-rating-empty-text, .hf-info__price-save, .hf-bundle-promo__tag, .hf-bundle-promo__price,
    .hf-bundle-promo__cta, .hf-stock, .hf-fbt__title, .hf-fbt__name, .hf-fbt__price,
    .hf-sticky-cart__name, .hf-sticky-cart__btn, .reset_variations, .hf-gallery__badge) { font-size: 14px; }
  body.hf-page.single-product :is(.hf-info__short-desc, .hf-desc p, .hf-desc li, .hf-bundle-promo__title) { font-size: 16px; }
  body.hf-page.single-product .hf-trust__desc { color: #c5c0b8; }
  body.hf-page.single-product .hf-fbt__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.hf-page.single-product .hf-fbt__name { -webkit-line-clamp: 3; min-height: 3.96em; }
}
@media (max-width: 767px) {
  /* The live count appears once, beside the catalogue sorting control. */
  body.hf-page .hf-cat-hero__count { display: none; }
  body.hf-page .hf-catalog-bar { padding: 10px 0; gap: 8px; }
  body.hf-page .hf-catalog { padding-top: 12px; }
  body.hf-page :is(.hf-catalog-bar__count, .hf-catalog-bar__sort label) { font-size: 14px; color: #c5c0b8; }
  body.hf-page .hf-catalog-bar__sort select { font-size: 16px; min-height: 44px; max-width: 100%; }
  body.hf-page .hf-catalog-bar__sort { max-width: 100%; gap: 8px; }
}
@media (max-width: 767px) {
  body.hf-page:not(.woocommerce-checkout) .hf-header__logo { flex-shrink: 0; }
  body.hf-page:not(.woocommerce-checkout) .hf-header__actions { min-width: 0; max-width: 100%; gap: 8px; }
  body.hf-page:not(.woocommerce-checkout) .hf-header .hf-search { min-width: 0; }
  body.hf-page:not(.woocommerce-checkout) .hf-header .dgwt-wcas-search-wrapp { min-width: 0 !important; max-width: 100% !important; }
}
