/* Apple Human Interface Guidelines fixes for iPhone / Safari visitors.
   - tap targets at least 44 × 44 pt
   - 16px text in form fields (smaller makes iPhone Safari zoom in on focus)
   - room for the iPhone home bar / notch (safe areas)
   - less motion when "Reduce Motion" is on */

/* Tap targets: grow the touch area without changing the look */
.box-icon, .hp-bslider__dot { position: relative; }
.box-icon::after { content: ""; position: absolute; inset: -6px; }
.hp-bslider__dot::after { content: ""; position: absolute; left: -10px; right: -10px; top: -18px; bottom: -18px; }
html body .sfg-search-toggle { width: 44px; height: 44px; }
.sfg-menu-toggle { display: inline-flex; align-items: center; justify-content: center; min-width: 48px; min-height: 48px; font-size: 32px; line-height: 1; color: var(--main, #253d4e); }
.sfg-menu-toggle svg { width: 32px; height: 32px; display: block; }
@media (max-width: 575px) { .sfg-menu-toggle svg { width: 30px; height: 30px; } }
footer a[aria-label*="SFlowers Galleria on"], .footer a[aria-label*="SFlowers Galleria on"] { min-width: 44px; min-height: 44px; }

@media (pointer: coarse), (max-width: 991px) {
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), select, textarea { font-size: 16px !important; }
    footer a, .footer a { display: inline-block; min-height: 32px; padding-top: 5px; padding-bottom: 5px; }
    .otp-btn { min-height: 48px; font-size: 16px; }
    .edit-phone, .resend-link { display: inline-block; padding: 10px 4px; }
}

/* Safe areas (viewport-fit=cover): keep the bottom bar above the home indicator, content clear of the notch in landscape */
.tf-toolbar-bottom { padding-bottom: env(safe-area-inset-bottom, 0px); }
@media (max-width: 1149px) {
    body { padding-left: env(safe-area-inset-left, 0px); padding-right: env(safe-area-inset-right, 0px); }
}
.offcanvas.offcanvas-start { padding-top: env(safe-area-inset-top, 0px); padding-bottom: env(safe-area-inset-bottom, 0px); }
.modal-dialog { margin-bottom: max(.5rem, env(safe-area-inset-bottom, 0px)); }

/* Keyboard / switch control users can see where they are */
a:focus-visible, button:focus-visible, [role="button"]:focus-visible { outline: 3px solid #f82878; outline-offset: 2px; }

/* Reduce Motion (Settings → Accessibility → Motion) */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
