/* Solas — mobile tap targets & legibility (older-audience pass)
   Phones only (<=768px). Sizes only: no colours changed.
   Targets: 48px tap areas, 16px form text (stops iOS focus-zoom), 14-17px button text.
   Author: Claude (Opus 5), 19 Sep 2026; v2 27 Sep (re-audited on live after the 23-26 Sep
   cart/checkout/buy-box/search work: + drawer promo toggle, cart-page steppers, checkout review
   steppers, variation "Clear options", View COAs, category meta, home card titles, email-tab
   buttons, small text links). Undo: deactivate.
   Selectors carry :not(#solas-tap) - the :not(#id) adds ID-level specificity so these win
   over existing !important rules (7793, the qty enhancer). Body-class pages use
   body.<class>:not(#solas-tap). No element has id solas-tap; don't add one. */
@media (max-width: 768px) {

  /* ---- Header icons: search 20px -> 48px tap area; menu/cart/account 48px ---- */
  body:not(#solas-tap) .elementor-6725 .dgwt-wcas-search-icon,
  body:not(#solas-tap) .elementor-6725 .js-dgwt-wcas-enable-mobile-form {
    display: inline-flex !important; align-items: center; justify-content: center;
    min-width: 48px; min-height: 48px;
  }
  body:not(#solas-tap) .elementor-6725 .dgwt-wcas-search-icon svg,
  body:not(#solas-tap) .elementor-6725 .js-dgwt-wcas-enable-mobile-form svg { width: 24px !important; height: 24px !important; }
  body:not(#solas-tap) .elementor-6725 .elementor-menu-toggle,
  body:not(#solas-tap) .elementor-6725 .hfe-cart-container { min-width: 48px; min-height: 48px; }
  body:not(#solas-tap) .elementor-6725 a.elementor-icon { min-width: 48px; min-height: 48px; display: inline-flex; align-items: center; justify-content: center; }

  /* ---- Shop / archive / related-product buttons ---- */
  body:not(#solas-tap) ul.products li.product .button,
  body:not(#solas-tap) .hfe-product-item .button,
  body:not(#solas-tap) .hfe-woo-products .button {
    min-height: 48px !important; font-size: 14px !important; letter-spacing: 0 !important;
    line-height: 1.2 !important; padding: 10px 6px !important;
    width: 100% !important; display: inline-flex !important; align-items: center; justify-content: center; text-align: center;
  }

  /* let the catalog-card button use the card's side padding (110px -> 134px wide) */
  body:not(#solas-tap) .hfe-product-item .hfe-product-add-to-cart { margin-left: -12px !important; margin-right: -12px !important; }

  /* ---- Catalog filter chips ---- */
  body:not(#solas-tap) #solas-prodfilter .pf-chip { min-height: 48px !important; font-size: 14px !important; padding-left: 14px !important; padding-right: 14px !important; }

  /* ---- Product page ---- */
  body:not(#solas-tap) .solas-qty-btn { width: 48px !important; height: 48px !important; min-width: 48px !important; font-size: 22px !important; }
  body.single-product:not(#solas-tap) form.cart .quantity input.qty { height: 48px !important; min-width: 56px; font-size: 18px !important; }
  body:not(#solas-tap) .solas-bulk-btn .solas-bulk-text, body:not(#solas-tap) .solas-bulk-btn .solas-bulk-price, body:not(#solas-tap) .solas-bulk-btn .solas-pv { font-size: 16px !important; }
  body:not(#solas-tap) .solas-bulk-btn .solas-bulk-meta, body:not(#solas-tap) .solas-bulk-btn .solas-bulk-row { font-size: 14px !important; }
  body:not(#solas-tap) .solas-bulk-btn small { font-size: 13px !important; }
  body:not(#solas-tap) .solas-bulk-btn { min-height: 48px !important; }
  body.single-product:not(#solas-tap) .variations_form .reset_variations { display: inline-flex !important; align-items: center; min-height: 44px !important; padding: 0 10px !important; font-size: 14px !important; }
  body.single-product:not(#solas-tap) #solas-six-strip a { display: inline-flex !important; align-items: center; min-height: 44px !important; }
  body.single-product:not(#solas-tap) .product_meta a { display: inline-block; padding-top: 12px; padding-bottom: 12px; }
  body.single-product:not(#solas-tap) .single_add_to_cart_button {
    width: 100% !important; min-height: 56px !important; font-size: 17px !important;
  }

  /* ---- Cart drawer ---- */
  body:not(#solas-tap) #solas-cart-close { min-width: 48px !important; min-height: 48px !important; }
  body:not(#solas-tap) .solas-qty-minus, body:not(#solas-tap) .solas-qty-plus { min-width: 44px !important; min-height: 44px !important; font-size: 20px !important; }
  body:not(#solas-tap) .solas-cart-item-remove { min-width: 44px !important; min-height: 44px !important; display: inline-flex !important; align-items: center; justify-content: center; }
  body:not(#solas-tap) .solas-cart-addon-dismiss { min-width: 44px !important; min-height: 44px !important; }
  body:not(#solas-tap) .solas-cart-addon-add { min-height: 48px !important; font-size: 16px !important; padding-left: 18px !important; padding-right: 18px !important; }
  body:not(#solas-tap) #solas-cart-coupon-input { font-size: 16px !important; min-height: 48px !important; }
  body:not(#solas-tap) #solas-cart-coupon-apply { min-height: 48px !important; font-size: 15px !important; }
  body:not(#solas-tap) .solas-cart-checkout-btn { min-height: 56px !important; font-size: 17px !important; }
  body:not(#solas-tap) #solas-cart-promo-t { min-height: 44px !important; display: inline-flex !important; align-items: center; }

  /* ---- Cart page (/cart-2/) ---- */
  body.woocommerce-cart:not(#solas-tap) a.remove { width: 44px !important; height: 44px !important; line-height: 44px !important; font-size: 26px !important; }
  body.woocommerce-cart:not(#solas-tap) .quantity input.qty { height: 48px !important; font-size: 16px !important; }
  body.woocommerce-cart:not(#solas-tap) .checkout-button { min-height: 56px !important; font-size: 17px !important; }
  body.woocommerce-cart:not(#solas-tap) #coupon_code { font-size: 16px !important; min-height: 48px !important; }
  body.woocommerce-cart:not(#solas-tap) .coupon .button { min-height: 48px !important; font-size: 14px !important; }
  body.woocommerce-cart:not(#solas-tap) .solas-cp-b { width: 44px !important; height: 44px !important; min-width: 44px !important; flex: 0 0 44px !important; font-size: 20px !important; }
  body.woocommerce-cart:not(#solas-tap) .quantity input.qty { min-width: 44px !important; }
  body.woocommerce-cart:not(#solas-tap) a.solas-cp-continue,
  body.woocommerce-cart:not(#solas-tap) a.shipping-calculator-button { display: inline-flex !important; align-items: center; min-height: 44px !important; }

  /* ---- Checkout ---- */
  body:not(#solas-tap) .solas-ckq-b { width: 40px !important; height: 40px !important; flex: 0 0 40px !important; font-size: 20px !important; }
  /* order summary: stepper on its own line under the product name (40px buttons don't fit beside it) */
  body.woocommerce-checkout:not(#solas-tap) .woocommerce-checkout-review-order-table td.product-name { flex-wrap: wrap !important; }
  body.woocommerce-checkout:not(#solas-tap) .solas-ckq { margin: 6px 0 2px 64px !important; }
  body.woocommerce-checkout:not(#solas-tap) .solas-co-nudge a { display: inline-flex !important; align-items: center; min-height: 44px !important; }
  body.woocommerce-checkout:not(#solas-tap) .input-text,
  body.woocommerce-checkout:not(#solas-tap) select,
  body.woocommerce-checkout:not(#solas-tap) textarea,
  body.woocommerce-checkout:not(#solas-tap) .select2-selection__rendered { font-size: 16px !important; }
  body.woocommerce-checkout:not(#solas-tap) input[type=checkbox],
  body.woocommerce-checkout:not(#solas-tap) input[type=radio] { width: 22px !important; height: 22px !important; }
  body.woocommerce-checkout:not(#solas-tap) #coupon_code { font-size: 16px !important; }
  body.woocommerce-checkout:not(#solas-tap) .checkout_coupon .button { min-height: 48px !important; font-size: 15px !important; }
  /* stack city / state / ZIP full width instead of three narrow boxes */
  body.woocommerce-checkout:not(#solas-tap) #billing_city_field,
  body.woocommerce-checkout:not(#solas-tap) #billing_state_field,
  body.woocommerce-checkout:not(#solas-tap) #billing_postcode_field,
  body.woocommerce-checkout:not(#solas-tap) #billing_address_1_field,
  body.woocommerce-checkout:not(#solas-tap) #billing_address_2_field,
  body.woocommerce-checkout:not(#solas-tap) #shipping_city_field,
  body.woocommerce-checkout:not(#solas-tap) #shipping_state_field,
  body.woocommerce-checkout:not(#solas-tap) #shipping_postcode_field,
  body.woocommerce-checkout:not(#solas-tap) #shipping_address_1_field,
  body.woocommerce-checkout:not(#solas-tap) #shipping_address_2_field { width: 100% !important; float: none !important; margin-left: 0 !important; margin-right: 0 !important; }

  /* ---- Homepage featured cards + email tab ---- */
  body:not(#solas-tap) a.solas-fc-title { display: block !important; padding-top: 6px !important; padding-bottom: 6px !important; }
  body:not(#solas-tap) .sp-tab-x { min-width: 44px !important; min-height: 44px !important; }
  body:not(#solas-tap) .sp-tab-main { min-height: 44px !important; }

  /* ---- Homepage review carousel ---- */
  body:not(#solas-tap) .tpr-arrow { width: 48px !important; height: 48px !important; }
  body:not(#solas-tap) .tpr-dot { position: relative; }
  body:not(#solas-tap) .tpr-dot::after { content: ""; position: absolute; left: 50%; top: 50%; width: 32px; height: 32px; transform: translate(-50%,-50%); }

  /* ---- Footer & breadcrumb links: taller rows ---- */
  body:not(#solas-tap) .site-footer a, body:not(#solas-tap) footer a, body:not(#solas-tap) .elementor-location-footer a { display: inline-block; padding-top: 10px; padding-bottom: 10px; }
  body:not(#solas-tap) .woocommerce-breadcrumb a { display: inline-block; padding-top: 12px; padding-bottom: 12px; }
}
