/* Rosaifa 4.14.3 — storefront-wide mobile layout polish. */

@media (max-width: 760px) {
  html { overflow-x: hidden; }
  body { overflow-x: clip; }
  body:not(.woocommerce-checkout) { padding-bottom: max(82px, calc(72px + env(safe-area-inset-bottom))) !important; }

  .rf-container,
  .woocommerce .rf-container,
  .rf-content-container,
  .rf-narrow-container { width: 100%; max-width: 100%; padding-inline: 18px; }

  .rf-main,
  .rf-content-area { min-width: 0; }

  .rf-main img,
  .rf-entry-content img { height: auto; max-width: 100%; }

  .rf-entry-content,
  .rf-builder-content,
  .woocommerce { overflow-wrap: anywhere; }

  .rf-button,
  button,
  input,
  select,
  textarea { max-width: 100%; }

  .rf-button { min-height: 46px; white-space: normal; }

  /* Header and fixed quick navigation. */
  .rf-trustbar-inner { min-height: 34px; padding-block: 6px; }
  .rf-site-header .rf-header-main { grid-template-columns: 48px minmax(0, 1fr) 48px; min-height: 78px; padding-inline: 18px; }
  .rf-site-header .rf-brand { min-width: 0; justify-self: center; }
  .rf-site-header .rf-brand img,
  .rf-site-header .custom-logo,
  .rf-site-header .rf-fallback-logo img { height: auto !important; max-height: 54px; max-width: min(210px, 54vw) !important; }
  .rf-site-header .rf-icon-button,
  .rf-site-header .rf-menu-toggle { height: 48px; min-width: 48px; }
  .rf-v411-mobile-nav { z-index: 1002; }

  /* Shared page hierarchy and content rhythm. */
  .rf-page-header,
  .rf-entry-header { margin-bottom: 24px; }
  .rf-page-header .rf-display,
  .rf-entry-header .rf-display,
  .rf-policy-hero .rf-display,
  .rf-v48-hero .rf-display { font-size: clamp(36px, 10.8vw, 46px) !important; line-height: 1.02 !important; text-wrap: balance; }
  .rf-entry-content { font-size: 16px; line-height: 1.72; }
  .rf-entry-content > * { max-width: 100%; }
  .rf-entry-content table,
  .rf-product-table-wrap,
  .rf-v48-compare-scroll { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }

  /* Homepage: consistent two-column discovery and one-column editorial blocks. */
  .rf-home-p4 .rf-p4-section { padding-block: 34px; }
  .rf-hero-slide-card,
  .rf-editorial-split-grid,
  .rf-dual-editorial-grid,
  .rf-home-guide-grid,
  .rf-newsletter-grid { grid-template-columns: 1fr !important; }
  .rf-hero-slide-content { padding: 24px 20px 26px; }
  .rf-hero-slide-content .rf-display { font-size: clamp(34px, 10vw, 43px) !important; line-height: 1.02 !important; }
  .rf-decision-support-grid,
  .rf-category-grid-v2,
  .rf-p4-concern-grid,
  .rf-brand-grid-v2 { gap: 12px; }
  .rf-category-card-v2,
  .rf-concern-card-v2 { min-width: 0; }
  .rf-section-head,
  .rf-section-head-wide { column-gap: 14px !important; margin-bottom: 20px; }
  .rf-section-head .rf-display,
  .rf-section-head-wide .rf-display { overflow-wrap: normal; text-wrap: balance; }

  /* Shop, archives and search: stable two-column catalogue. */
  .woocommerce-page .rf-woocommerce-main { padding-inline: 18px; }
  .woocommerce-products-header { margin-bottom: 20px; }
  .woocommerce-products-header__title { font-size: clamp(38px, 11vw, 48px) !important; line-height: 1 !important; }
  .rf-p5-shop-toolbar { align-items: stretch; gap: 9px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .rf-p5-shop-toolbar > * { min-width: 0; width: 100%; }
  .woocommerce ul.products,
  .rf-product-grid { align-items: stretch; column-gap: 12px !important; row-gap: 24px !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .woocommerce ul.products li.product,
  .rf-product-card { display: flex; flex-direction: column; height: 100%; min-width: 0; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .rf-product-card-title { min-height: 0; overflow-wrap: anywhere; }
  .woocommerce ul.products li.product .button,
  .rf-product-card .button,
  .rf-product-card .rf-quick-add { margin-top: auto; width: 100%; }
  .rf-archive-subcats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

  /* PDP: clean hierarchy, balanced purchase controls and compact trust. */
  .single-product .rf-woocommerce-main { padding-top: 10px; }
  .single-product div.product { gap: 16px !important; }
  .single-product div.product div.images { margin-bottom: 0 !important; }
  .single-product .woocommerce-product-gallery__wrapper { border-radius: 20px !important; min-height: 0 !important; }
  .single-product .woocommerce-product-gallery__image,
  .single-product .woocommerce-product-gallery__image > a { min-height: 0 !important; }
  .single-product .woocommerce-product-gallery__image img { aspect-ratio: 1 / 1; max-height: 92vw; min-height: 0 !important; object-fit: contain !important; padding: 10px; }
  .single-product div.product .summary { min-width: 0; padding-top: 2px !important; position: relative; z-index: 1; }
  .single-product div.product .product_title { margin: 0 0 8px !important; overflow: visible; text-wrap: pretty; }
  .rf-v4139-orientation { margin-bottom: 8px; }
  .rf-v4139-product-actions { margin-block: 8px 12px !important; padding-block: 8px; }
  .single-product .woocommerce-product-details__short-description { margin-bottom: 12px; }
  .rf-v4139-fit { margin-block: 12px; }
  .single-product .rf-p6-purchase-status { margin-block: 8px 12px; }
  .single-product .summary form.cart { gap: 9px !important; margin-bottom: 10px !important; padding: 12px !important; }
  .single-product .summary form.cart:not(.variations_form),
  .single-product .summary .woocommerce-variation-add-to-cart { align-items: stretch; grid-template-columns: 94px minmax(0, 1fr) !important; }
  .single-product .summary form.cart .quantity { grid-column: 1; width: 100%; }
  .single-product .summary form.cart .single_add_to_cart_button { grid-column: 2; }
  .single-product .summary form.cart .rf-v4139-buy-now { grid-column: 1 / -1; }
  .single-product .summary form.cart .single_add_to_cart_button,
  .single-product .summary form.cart .rf-v4139-buy-now { font-size: 14px !important; min-height: 50px !important; padding-inline: 12px !important; }
  .rf-v4139-trust { margin-top: 10px; }
  .rf-v4139-trust > a { padding: 12px !important; }
  .rf-purchase-reassurance { display: none !important; }
  .single-product .woocommerce-tabs { margin-top: 28px !important; padding-top: 18px !important; }
  .single-product .woocommerce-tabs ul.tabs { gap: 6px !important; margin: 0 0 22px !important; margin-inline: 0 !important; padding: 0 0 10px !important; scroll-padding-inline: 8px; width: 100% !important; }
  .single-product .woocommerce-tabs ul.tabs li a { padding: 10px 13px !important; }
  .single-product .woocommerce-tabs .panel { font-size: 15px; line-height: 1.7; }
  .single-product .woocommerce-tabs .panel > h2:first-child { font-size: clamp(32px, 9vw, 38px); }

  /* The sticky purchase bar replaces, rather than overlaps, quick navigation. */
  .single-product .rf-mobile-purchase { border: 1px solid var(--rf-line); border-radius: 20px; bottom: max(8px, env(safe-area-inset-bottom)) !important; left: 8px; padding: 9px 10px; right: 8px; z-index: 1003; }
  body.rf-context-purchase-visible .rf-v411-mobile-nav,
  body.single-product:has(.rf-mobile-purchase.is-visible) .rf-v411-mobile-nav { opacity: 0; pointer-events: none; transform: translateY(120%); }

  /* Cart, checkout and account: single readable column without squeezed fields. */
  .woocommerce-cart .rf-v411-commerce-head,
  .woocommerce-checkout .rf-v411-checkout-head,
  .woocommerce-account .rf-v411-account-hero { gap: 18px; grid-template-columns: 1fr !important; }
  .woocommerce-cart-form,
  .woocommerce-cart .cart-collaterals,
  .woocommerce-checkout form.checkout,
  .woocommerce-checkout .col2-set,
  .woocommerce-account .woocommerce { min-width: 0; }
  .woocommerce-checkout .col2-set,
  .woocommerce-checkout .rf-p7-checkout-grid,
  .woocommerce-account .woocommerce { grid-template-columns: 1fr !important; }
  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last { float: none; width: 100%; }
  .woocommerce form input.input-text,
  .woocommerce form textarea,
  .woocommerce form select,
  .select2-container { width: 100% !important; }
  .woocommerce-cart table.shop_table_responsive tr,
  .woocommerce-account table.shop_table_responsive tr { padding-block: 12px; }
  .woocommerce-cart .coupon { display: grid; gap: 8px; grid-template-columns: 1fr; width: 100%; }
  .woocommerce-cart .coupon .input-text,
  .woocommerce-cart .coupon .button,
  .woocommerce-cart .actions > .button { float: none !important; width: 100% !important; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 8px; scrollbar-width: none; }
  .woocommerce-account .woocommerce-MyAccount-navigation li { flex: 0 0 auto; }
  .woocommerce-account .woocommerce-MyAccount-navigation a { white-space: nowrap; }

  /* Journal, policy, guide and utility pages. */
  .rf-post-grid,
  .rf-policy-grid,
  .rf-guide-info-grid,
  .rf-guide-routine-columns,
  .rf-guide-selector-grid,
  .rf-routine-grid,
  .rf-routine-match-grid,
  .rf-v410-qc-process,
  .rf-v410-qc-guide-grid,
  .rf-v410-form-grid,
  .rf-v412-contact-grid,
  .rf-v412-eligibility-grid,
  .rf-v46-package-grid,
  .rf-v47-tier-grid,
  .rf-v48-home-intel-grid,
  .rf-v48-ingredient-grid,
  .rf-v49-complete-grid,
  .rf-v49-gap-grid,
  .rf-v49-program-grid,
  .rf-v49-trust-grid { grid-template-columns: 1fr !important; }
  .rf-v48-compat-controls { align-items: stretch; display: grid; gap: 8px; grid-template-columns: 1fr; }
  .rf-v48-compat-controls > span { display: none; }
  .rf-v48-hero-actions,
  .rf-guide-hero-actions,
  .rf-v4139-qa-actions,
  .rf-v411-empty-actions,
  .rf-p7-thankyou-actions { align-items: stretch; display: grid; gap: 10px; grid-template-columns: 1fr; }
  .rf-v48-hero-actions .rf-button,
  .rf-guide-hero-actions .rf-button,
  .rf-v4139-qa-actions .rf-button { width: 100%; }

  /* Footer: clean accordions and enough clearance for fixed controls. */
  .rf-site-footer { padding-bottom: max(96px, calc(86px + env(safe-area-inset-bottom))) !important; }
  .rf-footer-grid { gap: 0; grid-template-columns: 1fr !important; }
  .rf-footer-brand { padding-bottom: 22px; }
}

@media (max-width: 420px) {
  .rf-container,
  .woocommerce .rf-container,
  .rf-content-container,
  .rf-narrow-container,
  .woocommerce-page .rf-woocommerce-main { padding-inline: 16px; }
  .rf-site-header .rf-header-main { padding-inline: 14px; }
  .rf-home-p4 .rf-section-head .rf-display { font-size: 30px; }
  .woocommerce ul.products,
  .rf-product-grid { column-gap: 10px !important; }
  .single-product .summary form.cart:not(.variations_form),
  .single-product .summary .woocommerce-variation-add-to-cart { grid-template-columns: 88px minmax(0, 1fr) !important; }
  .single-product .rf-mobile-purchase small { max-width: 47vw; }
  .single-product .rf-mobile-purchase button { max-width: 44%; }
}

@media (max-width: 340px) {
  .rf-decision-support-grid,
  .rf-category-grid-v2,
  .rf-p4-concern-grid,
  .rf-brand-grid-v2,
  .rf-archive-subcats,
  .woocommerce ul.products,
  .rf-product-grid { grid-template-columns: 1fr !important; }
  .rf-p5-shop-toolbar { grid-template-columns: 1fr; }
}
