/* Extra Fresh – shop styles (Admin > General Settings > Custom CSS).
   Phone-first adjustments to the Freshmart theme and the brand's touches. */

/* Announcement bar: the WhatsApp number is one tap away */
.fm-promo-bar { font-size: 13px; line-height: 1.5; }
.fm-promo-bar a { color: #fff; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; direction: ltr; unicode-bidi: isolate; display: inline-block; padding: 4px 2px; }

/* WhatsApp icons on the WhatsApp buttons (the theme ships calendar / refresh icons there) */
.fm-hero-widget .fm-btn-outline i.la-calendar-alt::before,
.fm-promo-banner-btn-primary i.la-sync-alt::before { content: "\f232"; font-family: "Line Awesome Brands"; font-weight: 400; }

/* Hero image never wider than the screen */
.fm-hero-img-circle { width: min(520px, 100%); }
.fm-hero-stat-value { white-space: nowrap; }

/* Cards: no empty star rows, a clear price, a big add button */
.fm-card .fm-stars { display: none; }
.fm-card-atc { min-height: 44px; font-size: 14px; }
.fm-img-ph, .fm-product-main-img:not(:has(img)), .fm-product-thumb:not(:has(img)) {
  font-size: 0 !important; color: transparent;
  background: var(--fm-green-light) url("/assets/tenant/uploads/media-uploader/extrafresh/grid/grid-extra-fresh-icon1792428220553.png") center / 38% no-repeat !important;
}
.fm-img-ph > *, .fm-product-main-img .long-img:not(:has(img)) > span, .fm-product-thumb:not(:has(img)) > span { display: none !important; }
.fm-product-main-img:not(:has(img)) { min-height: 280px; background-size: 30% !important; }

/* Quantity stepper: finger-sized */
.fm-qty-btn { width: 48px; height: 48px; }
.fm-qty-input { height: 48px; width: 72px; font-size: 16px; }

/* Delivery banner in the brand's red, so it stands apart from the platters banner */
#e7f0de11-0000-4000-8000-0000000000d5 .fm-promo-banner-widget { background: #B54840; }
#e7f0de11-0000-4000-8000-0000000000d5 .fm-promo-banner-btn-primary { color: #8E342E; }
.fm-promo-banner-widget img.img-fluid { border-radius: 50% !important; box-shadow: 0 18px 40px -18px rgba(0,0,0,.45); border: 6px solid rgba(255,255,255,.85); }

@media (max-width: 991.98px) {
  .fm-hero-widget { padding: 20px 0 32px; }
  .fm-hero-widget .row { --bs-gutter-y: 1rem; }
  .fm-hero-widget .col-lg-6.text-center { order: -1; }
  .fm-hero-img-circle { width: min(230px, 62vw); margin: 0 auto; box-shadow: 0 16px 34px rgba(0,0,0,.12); }
  .fm-hero-deco { display: none; }
  .fm-hero-badge { margin-bottom: 12px !important; }
  .fm-hero-title { font-size: 30px; margin-bottom: 10px; }
  .fm-hero-sub { font-size: 15px; margin-bottom: 18px; }
  .fm-hero-widget .d-flex.gap-3 { gap: 10px !important; }
  .fm-hero-widget .fm-btn { min-height: 50px; padding: 12px 16px; font-size: 15px; flex: 1 1 140px; justify-content: center; }
  .fm-hero-stats { gap: 8px; }
  .fm-hero-stat { padding: 10px 6px; text-align: center; }
  .fm-hero-stat-value { font-size: 18px; }
  .fm-hero-stat-label { font-size: 11.5px; }

  .fm-section-title { font-size: 24px; }
  .fm-category-grid-widget { padding: 32px 0; }
  .fm-cat-card { padding: 12px 4px 10px; }
  .fm-cat-img { width: 64px; height: 64px; margin-bottom: 8px; }
  .fm-cat-name { font-size: 12.5px; line-height: 1.35; }

  .fm-featured-products-widget { padding-top: 24px !important; padding-bottom: 32px !important; }
  .fm-card-name { font-size: 14px; }

  .fm-promo-banner-widget { padding: 36px 0; text-align: center; }
  .fm-promo-banner-text { margin-inline: auto; margin-bottom: 20px; }
  .fm-promo-banner-actions { justify-content: center; }
  .fm-promo-banner-actions a { min-height: 50px; flex: 1 1 150px; justify-content: center; font-size: 15px; }
  .fm-promo-banner-widget img.img-fluid { width: 200px !important; height: 200px !important; }
}

/* Floating WhatsApp button: on the side away from the language and accessibility buttons, above back-to-top */
.whatsapp-integration-wrap a { right: auto !important; left: auto !important; inset-inline-end: 18px !important; bottom: 92px !important; width: 56px !important; height: 56px !important; background-color: #25D366 !important; box-shadow: 0 8px 22px -6px rgba(0,0,0,.35); }

/* Theme footer links that lead nowhere (Privacy / Terms / Sustainability report) */
.fm-footer-bottom-link[href="#"] { display: none !important; }

/* Phone menu (added by the shop's Custom JS) */
.ef-burger { display: none; }
.ef-menu[hidden] { display: none !important; }
.ef-menu { position: fixed; inset: 0; z-index: 100001; }
.ef-menu__shade { position: absolute; inset: 0; background: rgba(0,0,0,.45); }
.ef-menu__box { position: absolute; top: 0; bottom: 0; inset-inline-start: 0; width: min(320px, 86vw); background: #fff; padding: 56px 0 20px; overflow-y: auto; box-shadow: 0 0 40px rgba(0,0,0,.25); }
.ef-menu__x { position: absolute; top: 8px; inset-inline-end: 8px; width: 44px; height: 44px; border: 0; background: none; font-size: 30px; line-height: 1; color: var(--fm-dark); }
.ef-menu__box ul { list-style: none; margin: 0; padding: 0; }
.ef-menu__box li a { display: block; padding: 14px 22px; font-size: 17px; font-weight: 700; color: var(--fm-dark); border-bottom: 1px solid var(--fm-border); }
.ef-menu__box li a:active { background: var(--fm-green-light); }
.ef-menu__contact { padding: 18px 18px 0; display: grid; gap: 10px; }
.ef-menu__contact a { display: flex; align-items: center; gap: 8px; justify-content: center; min-height: 50px; border-radius: 10px; font-weight: 700; font-size: 15px; }
.ef-menu__wa { background: #25D366; color: #fff !important; }
.ef-menu__tel { background: var(--fm-green-light); color: var(--fm-green) !important; }
.ef-menu__contact i { font-size: 22px; }
html.ef-menu-open, html.ef-menu-open body { overflow: hidden; }

@media (max-width: 991.98px) {
  .ef-burger { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 10px; border: 1.5px solid var(--fm-border); background: var(--fm-green-light); color: var(--fm-green); font-size: 24px; flex-shrink: 0; }
  .fm-navbar .container > .d-flex { gap: 8px !important; }
  .fm-navbar .fm-icon-btn[aria-label="Compare"], .fm-navbar a[href*="compare"] { display: none !important; }
  .mobile-nav-item:has(a[href*="compare"]) { display: none !important; }
  .fm-navbar-logo-img, .fm-navbar img { max-height: 40px; width: auto; }
  .whatsapp-integration-wrap a { bottom: 128px !important; inset-inline-end: 12px !important; width: 52px !important; height: 52px !important; }
  .fm-card-atc { white-space: nowrap; font-size: 13px; padding: 8px 4px; gap: 4px; }
  .fm-card-body { padding: 10px; }
}

/* Full-width section backgrounds (the page builder pads every section by 15px) */
.pb-section > .section-inner { padding-left: 0; padding-right: 0; }
.pb-section .xgp_row { margin-left: 0; margin-right: 0; }
.pb-section .xgp_column { padding-left: 0; padding-right: 0; }

/* Phones: call-to-action buttons stacked, full width, one line each */
@media (max-width: 575.98px) {
  .fm-hero-widget .fm-btn, .fm-promo-banner-actions a { flex: 1 1 100%; white-space: nowrap; }
  .fm-promo-banner-actions { flex-direction: column; align-items: stretch; gap: 10px; }
}

/* Typography: the theme's Poppins for Latin text, the platform's Arabic and Hebrew faces for the rest */
h1, h2, h3, h4, h5, h6, .fm-hero-title, .fm-section-title, .fm-product-title, .fm-promo-banner-title, .fm-btn {
  font-family: "Poppins", "Velo Arabic", "Velo Hebrew", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

/* Stock is a standing "available" for this shop; "Only 9999 left" would only confuse */
#item_left .text-success { display: none; }

/* Footer headings readable on the dark footer */
footer h6, .fm-footer h6 { color: #A4CC3F !important; }

/* The developer toolbar of the dev server is not for shoppers. */
.phpdebugbar, .phpdebugbar-openhandler, .phpdebugbar-minimized { display: none !important; }
