/* V33: mobile marketplace hierarchy, product cards, touch targets and map fit.
   Visual inspiration is generic mobile-commerce UX; no third-party branding/assets. */
:root{--lsm-v33-ink:#17233b;--lsm-v33-muted:#69758b;--lsm-v33-line:#e7ebf2;--lsm-v33-surface:#fff;--lsm-v33-bg:#f4f6fb;--lsm-v33-brand:#263fbd;--lsm-v33-accent:#ffca3a}
html{scroll-padding-top:82px;scroll-behavior:smooth}
body{overscroll-behavior-y:contain}
button,a,input,select,textarea{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #7c8cff;outline-offset:2px}
.lsm30-board{isolation:isolate}
.lsm30-board>section{box-shadow:0 5px 18px rgba(18,34,76,.07);border:1px solid rgba(225,231,242,.8)}
.b30-services a{transition:transform .18s ease,box-shadow .18s ease}
.b30-services a:active,.b30-cat-row a:active,.b30-p .b30-btn:active{transform:scale(.97)}
.b30-p .im{background:#f5f7fb}
.b30-p img{width:100%;height:100%;object-fit:contain}
#rideBookingMap,.ride-booking-map,.food-live-map,.driver-live-map{width:100%;min-height:280px;border-radius:16px;overflow:hidden;background:#eaf0f6}
.leaflet-container{font:inherit;z-index:1}
/* Search, category and catalog surfaces should feel like one coherent marketplace. */
#search,.search-input,.lsm-search input{min-height:46px;border-radius:14px}
.product-grid{gap:12px}
.product-card,.product-item,.marketplace-product-card{min-width:0;overflow:hidden;border-radius:16px}
.product-card img,.product-item img,.marketplace-product-card img{max-width:100%;object-fit:contain}
@media(max-width:680px){
 body{background:var(--lsm-v33-bg);padding-bottom:calc(72px + env(safe-area-inset-bottom))}
 .lsm8-utilitybar{display:none!important}
 .lsm8-header{position:sticky!important;top:0!important;z-index:80!important;border-radius:0 0 15px 15px!important;box-shadow:0 5px 18px rgba(14,25,59,.12)!important;backdrop-filter:blur(16px)}
 .lsm8-header-inner{min-height:54px!important;padding:7px 11px!important;gap:8px!important}
 .lsm30-board{gap:10px!important;padding:10px 9px calc(24px + env(safe-area-inset-bottom))!important}
 .lsm30-board>section{border-radius:15px!important;padding:12px!important;box-shadow:0 4px 14px rgba(18,34,76,.06)!important}
 .b30-hero{min-height:214px!important;padding:16px!important;background-position:center!important}
 .b30-hero h1{font-size:clamp(27px,7.8vw,36px)!important;line-height:1.04!important;max-width:74%!important}
 .b30-hero p{max-width:72%!important;font-size:11px!important;line-height:1.45!important}
 .b30-hero-points{max-width:78%!important;font-size:8px!important}
 .b30-services{gap:7px!important;padding:10px!important;background:#fff!important}
 .b30-services a{min-width:0;min-height:83px!important;justify-content:center;padding:8px 3px!important;border:1px solid #edf0f7;border-radius:12px!important;background:#f7f8fc!important;gap:4px!important}
 .b30-services a .b30-service-photo{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;overflow:hidden;background:#e8edff}
 .b30-services a .b30-service-photo img{width:100%;height:100%;object-fit:cover}
 .b30-services a>b{font-size:8.5px!important;line-height:1.15;overflow-wrap:anywhere}
 .b30-services a>small{font-size:7px!important;line-height:1.15;color:var(--lsm-v33-muted)}
 .b30-cats{padding:11px!important}
 .b30-cats h2,.b30-feat h2{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px!important}
 .b30-cat-row{gap:9px!important;padding:2px 1px 6px!important;scrollbar-width:thin}
 .b30-cat-row a{flex:0 0 67px!important;min-height:76px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
 .b30-cat-row img{width:50px!important;height:50px!important;border:1px solid #edf0f7;background:#f7f8fc}
 .b30-cat-row b{font-size:8px!important;line-height:1.2}
 .b30-food{min-height:160px!important;padding:13px!important}
 .b30-food h2{font-size:21px!important}
 .b30-food p{font-size:9px!important;line-height:1.4}
 .b30-ride-visual{height:74px!important;bottom:10px!important;right:10px!important}
 .b30-ride>p,.b30-ride>ul,.b30-ride>.b30-btn{max-width:62%!important}
 .b30-ride p{font-size:9px!important}
 .b30-ride li{font-size:7.5px!important}
 .b30-track-steps span{font-size:7px!important}
 .b30-feat-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 .b30-p{padding:7px!important;border-radius:13px!important;gap:6px!important}
 .b30-p .im{height:auto!important;aspect-ratio:1/1;min-height:120px;max-height:none!important;border-radius:10px!important}
 .b30-p img{height:100%!important;max-height:none!important;object-fit:contain!important}
 .b30-p>b{font-size:10px!important;white-space:normal!important;line-height:1.25;min-height:25px}
 .b30-p .pr{font-size:12px!important}
 .b30-p .b30-btn{min-height:38px!important;font-size:10px!important}
 .b30-seller button.row{min-height:44px!important}
 .lsm-mobile-bottom-nav{padding-bottom:env(safe-area-inset-bottom)!important;min-height:calc(64px + env(safe-area-inset-bottom))!important}
 .lsm-mobile-bottom-nav>*{min-height:48px!important}
 .lsm-mobile-bottom-nav>*:nth-child(6){min-height:62px!important}
 .overlay .modal,.overlay .drawer{max-height:calc(100dvh - 18px - env(safe-area-inset-top));overflow:auto;overscroll-behavior:contain}
 .checkout-modal{width:min(100% - 16px,560px)!important;margin:8px auto!important;border-radius:18px!important}
 .checkout-modal input,.checkout-modal select,.checkout-modal textarea{font-size:16px!important;min-height:44px}
 .checkout-modal textarea{min-height:68px}
 .formgrid{grid-template-columns:minmax(0,1fr)!important}
 .formgrid>.wide,.formgrid .wide{grid-column:1!important}
 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 .product-card,.product-item,.marketplace-product-card{border-radius:13px!important}
 .product-card button,.product-item button,.marketplace-product-card button{min-height:42px}
 .food-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
 .food-restaurant-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
 #rideBookingMap,.ride-booking-map{height:min(43dvh,390px)!important;min-height:285px!important;border-radius:14px!important}
 .driver-live-map,.food-live-map{min-height:250px!important}
 .lsm-notification-consent{display:flex;align-items:flex-start;gap:9px;padding:10px 11px;margin:10px 0;border:1px solid var(--lsm-v33-line);border-radius:12px;background:#f8faff;color:var(--lsm-v33-ink);font-size:12px;line-height:1.45}
 .lsm-notification-consent input{flex:0 0 18px;width:18px;height:18px;min-height:18px;margin-top:1px;accent-color:var(--lsm-v33-brand)}
}
@media(min-width:681px){
 .lsm30-board{padding:18px!important;gap:16px!important}
 .b30-services a:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(22,38,90,.1)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.b30-services a{transition:none!important}}
