/* Sticky modal update: center fixed; allow background scroll */
#root {flex:1;}
#categoryFilters {display:flex;flex-wrap:wrap;gap:8px;margin:0012px0;}
/* Carousel wrapper: arrows absolutely positioned on sides, track gets horizontal padding so arrows sit outside content */
.categoryCarouselWrapper{position:relative;width:100%;padding:8px00;margin-bottom:4px;}
.categoryCarousel{display:flex;flex-direction:row;align-items:center;gap:12px;overflow-x:auto;scrollbar-width:none;padding:4px8px;scroll-snap-type:x proximity;min-height:64px;margin:044px044px;} /* explicit margins */
.categoryCarousel::-webkit-scrollbar{display:none;}
/* Arrows: small circular buttons placed left/right of track */
.carouselArrow{position:absolute;top:50%;transform:translateY(-50%);background:#fff;border:1px solid #ccc;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;box-shadow:02px6px rgba(0,0,0,.15);transition:.2s;z-index:5;}
.carouselArrow.left{left:0;}
.carouselArrow.right{right:0;}
.carouselArrow:hover{background:#222;color:#fff;border-color:#222;}
#categoryFilters .filter-btn {border-radius:10px;padding:14px18px;font-size:.85rem;border:1px solid #ddd;background:#fff;min-width:120px;min-height:64px;display:flex;align-items:center;justify-content:center;font-weight:600;box-shadow:02px6px rgba(0,0,0,.06);transition:all .25s;scroll-snap-align:start;flex:00 auto;}
#categoryFilters .filter-btn.active {background:#222;color:#fff;border-color:#222;}
#categoryFilters .filter-btn:hover {background:#444;color:#fff;}
/* Detached search row */
.menuSearchRow{display:flex;justify-content:flex-end;padding:4px4px32px;gap:12px;margin-top:4px;} /* reduced top space, increased bottom padding */
/* Enhanced, touch-friendly search input */
#searchInput.searchInputDetached{width:100%;max-width:520px;border-radius:14px;border:2px solid #0066ff;font-size:17px;line-height:1.3;padding:18px22px;height:58px;background:#ffffff;box-shadow:04px16px rgba(0,102,255,.15),02px4px rgba(0,0,0,.08);transition:border-color .2s,box-shadow .2s,background .2s;outline:none;}
#searchInput.searchInputDetached:focus{border-color:#004ecc;box-shadow:06px22px rgba(0,102,255,.25),03px6px rgba(0,0,0,.1);background:#f8fbff;}
#searchInput.searchInputDetached::placeholder{color:#7a8aa6;font-size:16px;letter-spacing:.4px;}
@media (max-width:767px){#searchInput.searchInputDetached{max-width:100%;font-size:18px;padding:20px24px;height:64px;}}
.menu-grid {width:100%;}
#categoryCheckboxDiv {text-align:center;margin-top:5px;font-size:25px}
h1.categoryHeader {font-size:30px;font-weight:bold;margin:24px012px0;position:relative;}
.menuItemMainDiv {margin-bottom:20px;}
.menuItemCard {display:flex;flex-direction:column;border:1px solid #e2e2e2;border-radius:10px;background:#fff;margin:0;padding:16px18px;width:100%;box-shadow:04px10px rgba(0,0,0,.12),010px24px rgba(0,0,0,.08);transition:box-shadow .18s ease,transform .18s ease;}
.menuItemCard:hover {box-shadow:010px30px rgba(0,0,0,.28);transform:translateY(-4px);} /* stronger hover */
.cardHeaderBlock{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;}
.cardHeaderBlock .productName{font-size:15px;font-weight:600;margin:0;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;}
.cardHeaderBlock .price{font-size:15px;font-weight:700;margin:0;white-space:nowrap;}
.cardHeaderBlock .productPotencyMeasure{margin:0;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;}
.imgDiv {display:flex;flex-direction:column;align-items:center;justify-content:flex-start;margin:10px012px;width:100%;}
.itemImg {width:135px;object-fit:scale-down;filter:drop-shadow(02px4px rgba(0,0,0,.18));}
.productDescription {font-size:13px;margin:0012px;padding:0;color:#555;text-align:center;line-height:1.3;min-height:38px;}
.cardActionArea{display:flex;justify-content:center;margin-top:auto;}
.cardActionBtn{background:#0066ff;color:#fff;border:none;border-radius:50px;padding:10px20px;font-size:.75rem;font-weight:600;letter-spacing:.5px;box-shadow:02px6px rgba(0,0,0,.2);cursor:pointer;transition:.25s;}
.cardActionBtn:hover{background:#004ecc;}
.cardActionBtn:active{transform:scale(.97);} 
#menuBody {padding:16px;padding-top:24px;}
#menuHeader {width:100%;position:fixed;top:0;padding:10px16px;background-color:white;z-index:1;color:black;}
cartIcon {padding:0}
.shoppingCartButton {display:flex;align-items:center;flex-direction:row;text-align:center;vertical-align:middle;}
#cartItemNumber {display:flex;align-items:center;flex-direction:row;text-align:center;vertical-align:middle;}
.hidden,.categoryCheckbox,.selectAllCheckbox,#recCustomer,#medPatient,#pickupOrder,#deliverOrder,#cashPayment,#canPayPayment {display:none;}
#contactFormArea {background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:04px16px rgba(0,0,0,0.08);padding:32px40px;max-width:760px;margin:0 auto32px;}
.cityStateZip {display:flex;flex-direction:row;justify-content:center;}
.checkoutOptionsColumn {display:flex;flex-direction:column;justify-content:flex-start;gap:18px;}
.shoppingCartPopup-overlay,.profilePopup-overlay {visibility:hidden;position:absolute;background:#ffffff;width:100%;height:100%;text-align:center;}
.shoppingCartPopup-overlay.active,.profilePopup-overlay.active {visibility:visible;position:fixed;text-align:center;height:100%;width:100%;min-height:100%;min-width:100%;padding:35px;z-index:1300;}
.shoppingCartPopup-content,.profilePopup-content {visibility:hidden;overflow:visible;overflow-x:hidden;height:auto;width:100%;max-width:1100px;margin:0 auto;display:flex;flex-direction:column;align-items:flex-start;padding-left:40px;padding-right:40px;}
.shoppingCartPopup-content.active,.profilePopup-content.active {visibility:visible;z-index:1310;}
#contactFormArea.contactFormArea {z-index:1315;position:relative;}
/* Distinct profile popup card */
.profilePopup-content.active {background:linear-gradient(135deg,#ffffff0%,#f5f7fa60%);border:2px solid #d6dce2;box-shadow:014px48px rgba(0,0,0,.45),06px18px rgba(0,0,0,.30);}
/* Emphasize form controls inside profile popup */
.profilePopup-content.active input,.profilePopup-content.active textarea,.profilePopup-content.active select {border:1px solid #b5bcc4;background:#fff;box-shadow:01px3px rgba(0,0,0,.12);}
.profilePopup-content.active input:focus,.profilePopup-content.active textarea:focus,.profilePopup-content.active select:focus {outline:none;border-color:#0066ff;box-shadow:0003px rgba(0,102,255,.25);}
.profilePopup-content.active h1,.profilePopup-content.active h2,.profilePopup-content.active h3 {color:#222;}
@media(max-width:640px){ .profilePopup-content.active {padding:32px20px;width:94%;} }
/* ...existing code... */
#orderHistoryArea {min-width:80%}
button {display:inline-block;vertical-align:middle;border-radius:30px;margin:.2rem;font-size:1rem;background:#ffffff;border:1px solid #666666;}
button:hover {border:1px solid #666666;background:#666666;color:#ffffff;}
#cartItemLine {display:flex;align-items:center;justify-content:space-between;padding:12px0;border-bottom:1px solid #ececec;font-size:15px;}
#cartItemLine:last-of-type {border-bottom:none;}
#cartItemLine h5 {margin:0;font-weight:500;}
.removeCartItemButton {color:#ff3b30;background:transparent;border:0;padding:4px10px;font-weight:600;cursor:pointer;}
.removeCartItemButton:hover {background:#ff3b30;color:#fff;border-radius:4px;}
.cartDivider {margin:18px012px;border-top:2px solid #d8d8d8;}
.cartTotalLine {display:flex;justify-content:space-between;font-size:15px;margin:4px0;}
.cartTotalLine strong {font-weight:600;}
#showCartTotal strong {font-size:16px;}
.cartButtons {display:flex;gap:12px;justify-content:flex-start;padding:8px00;margin-top:8px;}
#shoppingCartModal {background:#fff;border:1px solid #e2e2e2;border-radius:12px;padding:24px32px;box-shadow:04px16px rgba(0,0,0,0.08);max-width:760px;margin:0 auto24px;}
#searchInput {background-repeat:no-repeat;width:75%;font-size:16px;padding:12px20px12px40px;border:1px solid #ddd;margin-bottom:12px;}
.searchInputDiv {text-align:center}
#optionsDiv {display:flex;align-items:center;flex-direction:column;justify-content:space-between;text-align:center;vertical-align:middle;}
.bulkItemPrice,.addButton {font-weight:bold;}
.priceLabel {margin:10px;cursor:default}
.itemQuantText,.bulkItemPrice {margin:8px;font-size:.77rem;font-weight:bold;cursor:pointer}
.categoryCheckboxLabel:hover {color:black;cursor:pointer}
.activeCheckbox {color:black;font-weight:bold;}
#categoryCheckboxDiv {color:darkgray;display:flex;justify-content:center}
.cartButtonDescriber {font-size:12px;color:red}
.quantityForm {padding-left:15px;margin-left:0!important;margin-right:0!important;}
.titleDescriptionDiv {display:flex;align-items:center;flex-direction:row;text-align:center;vertical-align:middle;}
.quantForm1gDiv,#optionsDiv {display:flex;flex-direction:column;}
.requiredAsterisk::after {content:"*";font-weight:bold;color:red;}
#optionsDiv {position:relative}
.form-control {margin-bottom:8px}
.profilePopup-content,#edit-contact-form {display:flex;align-items:center;flex-direction:column;text-align:center;vertical-align:middle;}
.form-control {height:40px;align-items:center!important;margin:0!important}
.select2-container .select2-selection--single {height:40px;align-items:center!important;margin:0!important;text-align:center!important;}
.select2-container--default .select2-selection--single {height:40px;}
.select2-container--default .select2-selection--single .select2-selection__rendered {line-height:40px;display:flex;width:100%}
.select2-container--default .select2-selection--single .select2-selection__arrow {height:40px;display:flex;align-items:center;}
.dropdownMenu {width:30%!important;}
.itemImg {flex:00 auto;margin-right:10px;}
.addToCartDiv {flex:00 auto;margin-left:10px;}
.quantityForm {display:flex;justify-content:space-between;}
@media screen and (max-width:2200px){ .quantityForm {flex-direction:row;justify-content:center;margin-left:0!important;padding-left:0!important;} .productDescription {margin-left:0!important;padding-left:0!important;} .quantFormDiv {margin-bottom:10px;} .quantFormDiv p.priceLabel {display:block;} .imgDiv {display:flex;align-items:center;flex-direction:column;justify-content:space-between;text-align:center;vertical-align:middle;} .addToCartDiv {margin-left:0!important;padding-left:0!important;} #searchInput {padding:0;width:100%!important;} .dropdownMenu {width:30%!important;} }
@media screen and (min-width:768px){ .dropdownMenu {width:100%!important;} }
@media screen and (max-width:767px){ .dropdownMenu {width:100%!important;} }
@media screen and (max-width:350px){ .container-fluid .row {display:flex;flex-direction:column;} .container-fluid .row .col,.container-fluid .row .col-auto,.dropdownMenu,#searchInput {width:100%;} }
.productDetailModal{position:fixed;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.6);z-index:600;display:none;overflow-y:auto;}
.productDetailModal.show{display:block;}
/* Sticky centered modal */
.productDetailContent{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;width:90%;max-width:640px;max-height:90vh;overflow:auto;padding:24px;border-radius:10px;box-shadow:010px32px rgba(0,0,0,.35),04px12px rgba(0,0,0,.25);}
.detailHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.detailImage{display:block;margin:12px auto;max-width:260px;width:100%;height:auto;}
.detailDescription{margin-top:12px;font-size:14px;line-height:1.4;}
.detailPotency{font-weight:600;margin-top:8px;text-align:left;}
.detailPrices{margin-top:16px;}
.detailPriceRow{display:flex;justify-content:space-between;align-items:center;padding:4px0;border-bottom:1px solid #eee;}
.detailPriceLabel{font-weight:600;font-size:14px;}
.detailCloseBtn{margin-left:12px;}
body.modal-open{overflow:auto;} /* allow background scroll while sticky modal is open */
.menuIconBtn{position:relative;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid #ddd;border-radius:50px;padding:10px16px;margin:4px;box-shadow:02px4px rgba(0,0,0,.08);transition:.25s all;}
.menuIconBtn:hover{background:#222;color:#fff;border-color:#222;}
.menuIconBtn i{font-size:22px;}
.cartBadge{position:absolute;top:4px;right:8px;background:#ff3b30;color:#fff;font-size:12px;font-weight:600;line-height:1;padding:4px6px;border-radius:14px;min-width:22px;text-align:center;}
.menuIconBtn:focus{outline:none;box-shadow:0003px rgba(100,150,250,.4);}
.categoryGroupHeader{font-size:24px;font-weight:700;padding:8px8px2px;border-bottom:2px solid #ddd;margin:26px012px;}
html,body{overflow-y:auto !important;}html,body{overflow-y:auto !important;}