
/* <inline asset> */
@charset "UTF-8"; 

/* /pragmatic_website_customization/static/src/scss/quick_sale_order.scss */
 *, *::before, *::after{box-sizing: border-box;}:root{--odoo-navbar-height: 56px;}.so_page_wrap{background: #ffffff; min-height: 100vh;}.so_error_banner{background: #fff3cd; border-left: 4px solid #f59e0b; color: #92400e; padding: 12px 20px; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 10px; font-size: 14px;}.so_error_banner button{margin-left: auto; background: none; border: none; cursor: pointer; font-size: 16px; color: #92400e;}.so_layout{display: -webkit-box; display: -webkit-flex; display: flex; min-height: calc(100vh - var(--odoo-navbar-height)); position: relative;}.so_sidebar{width: 260px; flex-shrink: 0; background: #ffffff; border-right: 1px solid #e5e7eb; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column; position: sticky; top: 0; height: 100vh; overflow-y: auto; z-index: 100; contain: layout style;}.so_sidebar::-webkit-scrollbar{width: 0; display: none;}.so_sidebar_header{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 12px; padding: 20px 16px; border-bottom: 1px solid #f0f0f0; background: #ffffff; color: #111827;}.so_store_icon{font-size: 22px; background: #f3f4f6; border-radius: 10px; width: 46px; height: 46px; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; justify-content: center; color: #374151; flex-shrink: 0;}.so_store_name{font-size: 15px; font-weight: 700; line-height: 1.2; color: #111827;}.so_store_sub{font-size: 11px; color: #6b7280; margin-top: 2px;}.so_nav{flex: 1; padding: 12px 0; overflow-y: auto;}.so_nav_icon{font-size: 15px; flex-shrink: 0; width: 22px; text-align: center; line-height: 1; display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex; align-items: center; justify-content: center; color: inherit;}.so_nav_icon_default{opacity: 0.35;}.so_nav_label{-webkit-box-flex: 0; -webkit-flex: 0 1 auto; flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}.so_nav_count{-webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto; font-size: 12px; font-weight: 500; color: #9ca3af; margin-left: 4px;}.so_nav_all{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 8px; padding: 11px 20px; font-size: 14px; font-weight: 700; color: #111827; text-decoration: none; transition: background 0.15s ease; border-left: 3px solid transparent; cursor: pointer;}.so_nav_all:hover{background: #f3f4f6; text-decoration: none;}.so_nav_all.active{background: #f3f4f6; border-left-color: #111827; color: #111827;}.so_nav_parent{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 8px; padding: 11px 20px; font-size: 14px; font-weight: 600; color: #374151; text-decoration: none; transition: background 0.15s ease; border-left: 3px solid transparent; cursor: pointer;}.so_nav_parent:hover{background: #f3f4f6; color: #111827; text-decoration: none;}.so_nav_parent.active{background: #f3f4f6; color: #111827; border-left-color: #111827;}.so_nav_arrow{font-size: 16px; color: #9ca3af; transition: transform 0.2s ease; margin-left: auto; flex-shrink: 0; padding: 4px 2px; border-radius: 4px; cursor: pointer;}.so_nav_arrow:hover{color: #111827; background: #e5e7eb;}.so_nav_parent.active .so_nav_arrow, .so_nav_parent.so_arrow_open .so_nav_arrow{transform: rotate(180deg); color: #374151;}.so_nav_children{display: none; background: #ffffff; border-left: 3px solid #e5e7eb; margin-left: 16px;}.so_nav_children.open{display: block;}.so_nav_child{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 7px; padding: 8px 20px; font-size: 13px; color: #6b7280; text-decoration: none; transition: background 0.15s ease; border-left: 2px solid transparent;}.so_nav_child .so_nav_icon{font-size: 13px; width: 18px;}.so_nav_child:hover{color: #111827; background: #f3f4f6; text-decoration: none;}.so_nav_child.active{color: #111827; font-weight: 600; border-left-color: #374151; background: #f3f4f6; text-decoration: none;}.so_topbar{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 12px; margin-bottom: 28px;}.so_topbar .so_search_bar_wrap{flex: 1; margin-bottom: 0; max-width: 100%;}.so_cart_icon_btn{position: relative; flex-shrink: 0; width: 44px; height: 44px; background: #f3f4f6; border: 1.5px solid #e5e7eb; border-radius: 50%; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 18px; color: #6b7280; transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease; z-index: 200;}.so_cart_icon_btn:hover, .so_cart_icon_btn.so_cart_icon_active{border-color: #d1d5db; color: #374151; background: #e5e7eb;}.so_cart_icon_badge{position: absolute; top: -4px; right: -4px; background: #1a1a1a; color: #fff; font-size: 10px; font-weight: 800; min-width: 18px; height: 18px; border-radius: 999px; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; justify-content: center; padding: 0 4px; border: 2px solid #fff; line-height: 1;}.so_cart_icon_total{font-size: 13px; font-weight: 700; color: #6b7280; white-space: nowrap;}.so_cart_icon_wrap{position: relative; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 8px; flex-shrink: 0;}.so_cart_dropdown{position: absolute; top: calc(100% + 10px); right: 0; width: 340px; background: #ffffff; border: 1px solid #e5e7eb; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1); z-index: 9999; overflow: hidden; opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease; pointer-events: none;}.so_cart_dropdown.so_cart_dd_visible{opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto;}.so_dd_header{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; justify-content: space-between; padding: 14px 16px 12px; border-bottom: 1px solid #f0f0f0;}.so_dd_title{font-size: 14px; font-weight: 700; color: #111827; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 7px;}.so_dd_title i{color: #9ca3af;}.so_dd_clear_all_btn{font-size: 12px; color: #9ca3af; background: none; border: none; cursor: pointer; padding: 4px 8px; border-radius: 5px; transition: color 0.15s, background 0.15s; font-weight: 500;}.so_dd_clear_all_btn:hover{color: #ef4444; background: #fee2e2;}.so_dd_empty{display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column; align-items: center; justify-content: center; padding: 28px 16px; color: #9ca3af; gap: 8px; font-size: 13px;}.so_dd_empty i{font-size: 28px; color: #d1d5db;}.so_dd_body{max-height: 320px; overflow-y: auto; padding: 6px 0; overscroll-behavior: contain;}.so_dd_body::-webkit-scrollbar{width: 4px;}.so_dd_body::-webkit-scrollbar-thumb{background: #e5e7eb; border-radius: 4px;}.so_dd_item{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; padding: 9px 14px; gap: 10px; transition: background 0.12s;}.so_dd_item:hover{background: #f9fafb;}.so_dd_item_img_wrap{flex-shrink: 0; width: 46px; height: 46px; border-radius: 8px; overflow: hidden; background: #f3f4f6; border: 1px solid #e5e7eb; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; justify-content: center;}.so_dd_item_img{width: 100%; height: 100%; object-fit: contain; padding: 4px;}.so_dd_item_img_placeholder{width: 100%; height: 100%; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; justify-content: center; color: #d1d5db; font-size: 18px;}.so_dd_item_info{flex: 1; min-width: 0; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column; gap: 3px;}.so_dd_item_name{font-size: 13px; font-weight: 600; color: #1f2937; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}.so_dd_item_qty{font-size: 11px; color: #6b7280;}.so_dd_item_right{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 6px; flex-shrink: 0;}.so_dd_item_sub{font-size: 13px; font-weight: 700; color: #111827; white-space: nowrap;}.so_dd_item_remove{width: 24px; height: 24px; border-radius: 50%; background: none; border: none; cursor: pointer; color: #d1d5db; font-size: 11px; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; justify-content: center; transition: background 0.15s, color 0.15s; padding: 0;}.so_dd_item_remove:hover{background: #fee2e2; color: #ef4444;}.so_dd_footer{border-top: 1px solid #f0f0f0; padding: 12px 16px; background: #f9fafb;}.so_dd_total_row{display: -webkit-box; display: -webkit-flex; display: flex; justify-content: space-between; align-items: center; font-size: 13px; color: #374151; margin-bottom: 10px; font-weight: 600;}.so_dd_total_val{font-size: 16px; font-weight: 800; color: #374151;}.so_dd_checkout_btn{display: block; width: 100%; padding: 11px; background: #1a1a1a; color: #ffffff; border: none; border-radius: 8px; font-size: 14px; font-weight: 700; cursor: pointer; text-align: center; transition: background 0.18s ease; letter-spacing: 0.2px;}.so_dd_checkout_btn:hover{background: #333333;}.so_content{flex: 1; padding: 0 28px 120px 28px; min-width: 0;}.so_content > .so_topbar{position: sticky; top: var(--odoo-navbar-height); z-index: 400; background: #ffffff; padding-top: 12px; padding-bottom: 10px; margin-bottom: 0;}#so_filter_bar{position: sticky; top: calc(var(--odoo-navbar-height) + 58px); z-index: 399; background: #ffffff; padding-top: 8px; padding-bottom: 6px; margin-bottom: 8px; border-bottom: 1px solid #f3f4f6;}.so_search_bar_wrap{position: relative; margin-bottom: 0; max-width: 480px;}.so_search_icon{position: absolute; left: 14px; top: 50%; transform: translateY(-50%); font-size: 14px; pointer-events: none; z-index: 1; color: #9ca3af;}.so_search_input{width: 100%; padding: 11px 40px 11px 40px; font-size: 14px; border: 1.5px solid #d1d5db; border-radius: 8px; background: white; color: #374151; transition: border-color 0.2s, box-shadow 0.2s; outline: none;}.so_search_input:focus{border-color: #374151; box-shadow: 0 0 0 3px rgba(55, 65, 81, 0.08);}.so_search_input::placeholder{color: #9ca3af;}.so_search_clear{position: absolute; right: 10px; top: 50%; transform: translateY(-50%); width: 26px; height: 26px; border-radius: 50%; background: #e5e7eb; border: none; cursor: pointer; font-size: 12px; color: #6b7280; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; justify-content: center; transition: background 0.2s;}.so_search_clear:hover{background: #d1d5db;}.so_product_section{margin-bottom: 40px; transition: opacity 0.15s ease; content-visibility: auto; contain-intrinsic-size: 0 420px;}.so_product_section[style*="display: none"]{display: none !important;}.so_section_header{display: -webkit-box; display: -webkit-flex; display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 16px; padding-bottom: 10px; border-bottom: 2px solid #e5e7eb; -webkit-flex-wrap: wrap; flex-wrap: wrap; gap: 8px;}.so_section_header_right{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 10px; -webkit-flex-wrap: wrap; flex-wrap: wrap;}.so_section_title{font-size: 20px; font-weight: 800; color: #1a1a1a; margin: 0; letter-spacing: -0.3px; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 6px;}.so_section_icon{font-size: 18px; line-height: 1; flex-shrink: 0; color: inherit; opacity: 0.8;}.so_section_count{font-size: 13px; color: #9ca3af; white-space: nowrap;}.so_best_sellers_section, .so_top_sellers_section{background: transparent; border: none; border-radius: 0; padding: 0; margin-bottom: 40px;}.so_best_sellers_section .so_section_header, .so_top_sellers_section .so_section_header{border-bottom: 2px solid #e5e7eb;}.so_best_sellers_section .so_section_title, .so_top_sellers_section .so_section_title{color: #1a1a1a;}.so_best_sellers_section .so_section_count, .so_top_sellers_section .so_section_count{color: #9ca3af;}.so_best_sellers_section .so_carousel_prev, .so_best_sellers_section .so_carousel_next, .so_top_sellers_section .so_carousel_prev, .so_top_sellers_section .so_carousel_next{background: #f3f4f6; color: #1f2937; border-color: #e5e7eb;}.so_best_sellers_section .so_carousel_prev:hover, .so_best_sellers_section .so_carousel_next:hover, .so_top_sellers_section .so_carousel_prev:hover, .so_top_sellers_section .so_carousel_next:hover{background: #e5e7eb;}.so_product_grid{display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px;}.so_product_card{background: #ffffff; border: 1px solid #e5e7eb; border-radius: 12px; overflow: hidden; transition: box-shadow 0.2s ease, transform 0.2s ease; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column; position: relative; min-width: 210px;}.so_product_card:hover{box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1); transform: translateY(-2px); will-change: transform;}.so_product_card.so_card_selected{background: #f9fafb; border-color: #d1d5db;}.so_product_card.so_hidden{display: none !important;}.so_card_image_wrap{position: relative; aspect-ratio: 1 / 1; overflow: hidden; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; justify-content: center; min-height: 160px; border-radius: 12px 12px 0 0; padding: 10px;}.so_card_image_wrap::after{content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.6) 50%, transparent 100%); background-size: 200% 100%; animation: soShimmer 1.4s infinite linear; pointer-events: none; transition: opacity 0.2s;}.so_card_image_wrap.so_img_wrap_loaded::after{opacity: 0; animation: none;}@keyframes soShimmer{0%{background-position: -200% 0;}100%{background-position: 200% 0;}}.so_card_img{display: block; transition: opacity 0.25s ease; position: relative; z-index: 0; height: 100%;}.so_card_img:not(.so_img_loaded){opacity: 0;}.so_card_img.so_img_loaded{opacity: 1;}.so_product_card:hover .so_card_img{transform: scale(1.04); transition: opacity 0.25s ease, transform 0.2s ease;}.so_qty_badge{position: absolute; top: 8px; left: 8px; background: #1a1a1a; color: white; font-size: 11px; font-weight: 800; width: 24px; height: 24px; border-radius: 50%; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; justify-content: center; z-index: 10; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); pointer-events: none;}.so_add_btn{position: absolute; bottom: 10px; right: 10px; width: 34px; height: 34px; background: #ffffff; color: #1a1a1a; border: 1.5px solid #d1d5db; border-radius: 50%; font-size: 24px; font-weight: 300; line-height: 1; cursor: pointer; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; justify-content: center; z-index: 10; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12); transition: background 0.18s, transform 0.18s, box-shadow 0.18s, border-color 0.18s; padding: 0 0 2px 0;}.so_add_btn:hover{background: #f3f4f6; border-color: #9ca3af; transform: scale(1.1); box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);}.so_qty_ctrl{position: absolute; bottom: 10px; right: 10px; display: none; align-items: center; background: #ffffff; border-radius: 50px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18); border: 1.5px solid #e5e7eb; overflow: hidden; z-index: 10; height: 34px;}.so_qty_ctrl button{width: 32px; height: 32px; border: none; background: #ffffff; color: #374151; font-size: 20px; font-weight: 700; cursor: pointer; flex-shrink: 0; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; justify-content: center; line-height: 1; padding: 0; transition: background 0.12s;}.so_qty_ctrl button:hover{background: #f3f4f6;}.so_qty_ctrl button:active{transform: scale(0.9);}.so_qty_input{width: 36px; height: 30px; text-align: center; border: none; border-left: 1px solid #e5e7eb; border-right: 1px solid #e5e7eb; font-size: 13px; font-weight: 700; color: #111827; background: #ffffff; -moz--webkit-appearance: textfield; -moz-appearance: textfield; appearance: textfield; -webkit-appearance: textfield; -moz-appearance: textfield; appearance: textfield; padding: 0;}.so_qty_input::-webkit-outer-spin-button, .so_qty_input::-webkit-inner-spin-button{display: none;}.so_qty_input:focus{outline: none;}.so_card_body{padding: 10px 12px 12px; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column; gap: 2px; background: inherit;}.so_card_sku{font-size: 12px; color: #b0b5bf; font-weight: 500; text-transform: uppercase; letter-spacing: 0.4px;}.so_card_name{font-size: 13px; color: #1a1a1a; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;}.so_variant_select{width: 100%; padding: 5px 8px; font-size: 12px; border: 1px solid #d1d5db; border-radius: 5px; background: white; color: #374151; cursor: pointer; margin-top: 2px;}.so_variant_select:focus{outline: none; border-color: #374151;}.so_card_price{font-size: 15px; font-weight: 800; color: #1a1a1a; margin-top: 4px; letter-spacing: -0.3px;}.so_seller_badge{position: absolute; top: 8px; right: 8px; z-index: 11; display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex; align-items: center; gap: 3px; padding: 3px 8px; border-radius: 20px; font-size: 10px; font-weight: 700; line-height: 1.3; white-space: nowrap; pointer-events: none; letter-spacing: 0.2px; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1); max-width: calc(100% - 40px); overflow: hidden; text-overflow: ellipsis;}.so_seller_badge_best{background: #fff8e6; color: #b45309; border: 1px solid #fde68a;}.so_seller_badge_top{background: #ecfdf5; color: #047857; border: 1px solid #6ee7b7;}.so_empty_state{text-align: center; padding: 60px 20px; color: #9ca3af;}.so_empty_icon{font-size: 56px; color: #d1d5db; margin-bottom: 16px;}.so_empty_icon i{font-size: 56px;}.so_empty_state h3{color: #6b7280; margin-bottom: 8px;}.so_empty_state p{font-size: 14px;}.so_search_no_results{display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column; align-items: center; justify-content: center; padding: 64px 24px; text-align: center; animation: so_snr_fadein 0.25s ease;}@keyframes so_snr_fadein{from{opacity: 0; transform: translateY(12px);}to{opacity: 1; transform: translateY(0);}}.so_snr_icon{width: 80px; height: 80px; border-radius: 50%; background: #f3f4f6; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; position: relative;}.so_snr_icon::after{content: ''; position: absolute; inset: -6px; border-radius: 50%; border: 2px dashed #d1d5db; animation: so_snr_spin 8s linear infinite;}@keyframes so_snr_spin{from{transform: rotate(0deg);}to{transform: rotate(360deg);}}.so_snr_icon i{font-size: 32px; color: #9ca3af;}.so_snr_title{font-size: 20px; font-weight: 700; color: #111827; margin: 0 0 10px;}.so_snr_sub{font-size: 15px; color: #6b7280; margin: 0 0 8px;}.so_snr_term{color: #4b5563; font-style: italic;}.so_snr_hint{font-size: 13px; color: #9ca3af; max-width: 380px; line-height: 1.6; margin: 0 0 24px;}.so_snr_clear_btn{display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex; align-items: center; gap: 7px; padding: 10px 22px; background: #1a1a1a; color: #ffffff; border: none; border-radius: 24px; font-size: 14px; font-weight: 600; cursor: pointer; transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);}.so_snr_clear_btn:hover{background: #333; transform: translateY(-1px); box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);}.so_see_all_btn{display: inline-block; padding: 5px 14px; background: #ffffff; color: #111827; border: 1.5px solid #d1d5db; border-radius: 20px; font-size: 13px; font-weight: 600; text-decoration: none; white-space: nowrap; transition: background 0.18s ease, transform 0.18s ease; cursor: pointer;}.so_see_all_btn:hover{background: #e5e7eb; border-color: #d1d5db; transform: scale(1.06);}.so_section_title_wrap{display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column; gap: 3px;}.so_min_qty_badge{display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex; align-items: center; gap: 4px; font-size: 11px; color: #6b7280; background: #f3f4f6; border: 1px solid #e5e7eb; border-radius: 6px; padding: 2px 8px; font-weight: 500; width: fit-content; margin-top: 2px;}.so_min_qty_badge strong{color: #374151; font-weight: 700;}.so_float_cart{position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); background: #1a1a1a; color: #ffffff; border: none; border-radius: 50px; padding: 14px 28px; display: none; align-items: center; justify-content: center; gap: 10px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); z-index: 1000; min-width: 200px; max-width: calc(100vw - 40px); cursor: pointer; white-space: nowrap; animation: slideUp 0.3s ease; user-select: none; will-change: transform;}@keyframes slideUp{from{opacity: 0; transform: translateX(-50%) translateY(20px);}to{opacity: 1; transform: translateX(-50%) translateY(0);}}.so_float_cart_icon{font-size: 16px; color: #ffffff; flex-shrink: 0;}#so_float_item_count{font-size: 15px; font-weight: 700; color: #ffffff; line-height: 1;}.so_float_cart_sep{font-size: 15px; color: rgba(255, 255, 255, 0.5); line-height: 1; margin: 0 2px;}#so_float_total{font-size: 15px; font-weight: 700; color: rgba(255, 255, 255, 0.85); line-height: 1;}.so_float_cart_btn{display: none;}#so_product_grid_wrap.so_grid_loading{opacity: 0.45; pointer-events: none; transition: opacity 0.2s ease;}.so_checkout_form{padding-bottom: 40px;}.so_checkout_header{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 20px; margin-bottom: 24px;}.so_checkout_header h2{font-size: 22px; font-weight: 700; color: #111827; margin: 0;}.so_back_btn{padding: 8px 14px; border: 1.5px solid #d1d5db; background: white; color: #374151; border-radius: 6px; font-size: 13px; font-weight: 500; cursor: pointer; transition: border-color 0.15s, color 0.15s; white-space: nowrap;}.so_back_btn:hover{border-color: #9ca3af; color: #1f2937;}.so_order_summary_card{background: #f9fafb; border: 1.5px solid #e5e7eb; border-radius: 10px; padding: 20px 24px; margin-bottom: 24px;}.so_osc_title{font-size: 13px; font-weight: 700; color: #6b7280; text-transform: uppercase; letter-spacing: 0.8px; margin-bottom: 14px;}.so_osc_items{display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column; gap: 4px; margin-bottom: 14px; max-height: 340px; overflow-y: auto; overscroll-behavior: contain;}.so_osc_items::-webkit-scrollbar{width: 4px;}.so_osc_items::-webkit-scrollbar-thumb{background: #d1d5db; border-radius: 4px;}.so_osc_item{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 8px; background: #ffffff; border: 1px solid #f0f0f0; transition: background 0.12s;}.so_osc_item:hover{background: #f9fafb; border-color: #e5e7eb;}.so_osc_item_img_wrap{flex-shrink: 0; width: 52px; height: 52px; border-radius: 8px; overflow: hidden; background: #f3f4f6; border: 1px solid #e5e7eb; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; justify-content: center;}.so_osc_item_img{width: 100%; height: 100%; object-fit: contain; padding: 4px;}.so_osc_item_img_placeholder{width: 100%; height: 100%; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; justify-content: center; color: #d1d5db; font-size: 20px;}.so_osc_item_details{flex: 1; min-width: 0; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column; gap: 3px;}.so_osc_item_name{font-size: 13px; font-weight: 600; color: #1f2937; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}.so_osc_item_qty_price{font-size: 11px; color: #6b7280;}.so_osc_item_right{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 8px; flex-shrink: 0;}.so_osc_item_subtotal{font-size: 13px; font-weight: 700; color: #111827; white-space: nowrap;}.so_osc_item_remove{width: 26px; height: 26px; border-radius: 50%; background: none; border: 1px solid #e5e7eb; cursor: pointer; color: #d1d5db; font-size: 11px; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; justify-content: center; transition: background 0.15s, color 0.15s, border-color 0.15s; padding: 0; flex-shrink: 0;}.so_osc_item_remove:hover{background: #fee2e2; color: #ef4444; border-color: #fca5a5;}.so_osc_empty{color: #9ca3af; font-size: 13px; padding: 12px 4px; display: block; text-align: center;}.so_osc_total{display: -webkit-box; display: -webkit-flex; display: flex; justify-content: space-between; align-items: center; border-top: 1px solid #e5e7eb; padding-top: 12px; font-size: 15px; color: #374151;}.so_osc_total strong{font-size: 20px; color: #374151;}.so_form_section{background: white; border: 1.5px solid #e5e7eb; border-radius: 10px; padding: 22px 24px; margin-bottom: 20px;}.so_fs_title{font-size: 15px; font-weight: 700; color: #1f2937; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 8px; margin-bottom: 18px; padding-bottom: 14px; border-bottom: 1.5px solid #f3f4f6;}.so_fs_icon{font-size: 16px; width: 28px; height: 28px; background: #f3f4f6; border-radius: 6px; display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex; align-items: center; justify-content: center; color: #6b7280;}.so_optional{font-size: 12px; font-weight: 400; color: #9ca3af; font-style: italic; margin-left: auto;}.so_req{color: #dc2626; font-weight: 700;}.so_form_grid{display: grid; gap: 16px;}.so_form_grid_3{grid-template-columns: repeat(3, 1fr);}.so_form_grid_2{grid-template-columns: repeat(2, 1fr);}.so_full{grid-column: 1 / -1;}.so_form_group{display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;}.so_form_group label{font-size: 12px; font-weight: 600; color: #6b7280; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.4px;}.so_form_group input, .so_form_group select, .so_form_group textarea{padding: 9px 12px; font-size: 14px; border: 1.5px solid #d1d5db; border-radius: 6px; background: white; color: #111827; transition: border-color 0.2s, box-shadow 0.2s; width: 100%;}.so_form_group input:focus, .so_form_group select:focus, .so_form_group textarea:focus{outline: none; border-color: #9ca3af; box-shadow: 0 0 0 3px rgba(156, 163, 175, 0.15);}.so_form_group input::placeholder, .so_form_group textarea::placeholder{color: #9ca3af; font-size: 13px;}.so_form_group select{cursor: pointer;}.so_form_group textarea{resize: vertical; min-height: 70px; font-family: inherit;}.so_stars{display: -webkit-box; display: -webkit-flex; display: flex; gap: 6px; padding: 6px 0;}.so_star{font-size: 26px; color: #d1d5db; cursor: pointer; transition: color 0.15s, transform 0.15s; user-select: none;}.so_star:hover{color: #fbbf24; transform: scale(1.1);}.so_star.selected{color: #f59e0b;}.so_submit_row{display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-pack: end; justify-content: flex-end; gap: 12px; margin-top: 24px;}.so_btn{padding: 12px 28px; font-size: 15px; font-weight: 600; border-radius: 7px; border: none; cursor: pointer; transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;}.so_btn_primary{background: #1a1a1a; color: #ffffff; border: 1.5px solid #1a1a1a;}.so_btn_primary:hover{background: #333; border-color: #333; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);}.so_btn_secondary{background: white; color: #374151; border: 1.5px solid #d1d5db;}.so_btn_secondary:hover{border-color: #9ca3af; background: #f9fafb;}.so_thankyou_page{background: #f7f8fa; min-height: 100vh; padding: 48px 20px;}.so_ty_wrapper{max-width: 780px; margin: 0 auto; background: white; border-radius: 12px; padding: 40px; box-shadow: 0 2px 16px rgba(0, 0, 0, 0.07);}.so_ty_hero{text-align: center; margin-bottom: 32px;}.so_ty_checkmark{width: 72px; height: 72px; background: #1a1a1a; color: #ffffff; border-radius: 50%; font-size: 32px; font-weight: 700; display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 16px;}.so_ty_hero h1{font-size: 28px; font-weight: 700; color: #111827; margin-bottom: 8px;}.so_ty_hero p{font-size: 15px; color: #6b7280; margin: 0;}.so_ty_info_grid{display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; background: #f9fafb; border-radius: 10px; padding: 24px; margin-bottom: 28px;}.so_ty_info_label{font-size: 12px; color: #9ca3af; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 4px;}.so_ty_info_val{font-size: 16px; font-weight: 600; color: #1f2937;}.so_badge{display: inline-block; padding: 4px 12px; border-radius: 20px; font-size: 13px; font-weight: 600;}.so_badge_confirmed{background: #d1fae5; color: #065f46;}.so_badge_draft{background: #f3f4f6; color: #374151;}.so_ty_payment{text-align: center; background: #eff6ff; border: 1.5px solid #bfdbfe; border-radius: 10px; padding: 24px; margin-bottom: 28px;}.so_ty_payment_icon{font-size: 32px; margin-bottom: 10px; color: #2563eb;}.so_ty_payment p{color: #1e40af; font-weight: 600; margin-bottom: 14px;}.so_ty_pay_btn{display: inline-block; padding: 12px 28px; background: #2563eb; color: white; border-radius: 7px; text-decoration: none; font-weight: 600; font-size: 15px; transition: background 0.2s, transform 0.2s, box-shadow 0.2s;}.so_ty_pay_btn:hover{background: #1d4ed8; color: white; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3); text-decoration: none;}.so_ty_items_section{margin-bottom: 24px;}.so_ty_items_section h3{font-size: 17px; font-weight: 600; color: #1f2937; margin-bottom: 14px;}.so_ty_table{width: 100%; border-collapse: collapse; border: 1px solid #e5e7eb; border-radius: 8px; overflow: hidden;}.so_ty_table thead{background: #f9fafb;}.so_ty_table th{padding: 12px 14px; font-size: 12px; font-weight: 600; color: #6b7280; text-transform: uppercase; letter-spacing: 0.5px; text-align: left; border-bottom: 1px solid #e5e7eb;}.so_ty_table th:nth-child(2), .so_ty_table td:nth-child(2){text-align: center;}.so_ty_table th:nth-child(3), .so_ty_table th:nth-child(4), .so_ty_table td:nth-child(3), .so_ty_table td:nth-child(4){text-align: right;}.so_ty_table td{padding: 12px 14px; font-size: 14px; color: #374151; border-bottom: 1px solid #f3f4f6;}.so_ty_table tbody tr:last-child td{border-bottom: none;}.so_ty_total_row{display: -webkit-box; display: -webkit-flex; display: flex; justify-content: space-between; align-items: center; background: #f9fafb; border-radius: 8px; padding: 16px 20px; margin-bottom: 24px; font-size: 16px; color: #374151;}.so_ty_total_row strong{font-size: 22px; color: #374151; font-weight: 700;}.so_ty_email_notice{background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 8px; padding: 14px 18px; font-size: 14px; color: #374151; margin-bottom: 24px;}.so_ty_actions{text-align: center;}.so_ty_action_btn{display: inline-block; padding: 12px 28px; background: #1a1a1a; color: #ffffff; border-radius: 7px; text-decoration: none; font-weight: 600; font-size: 15px; transition: background 0.2s;}.so_ty_action_btn:hover{background: #333; color: #fff; text-decoration: none;}@media (max-width: 1400px){.so_product_grid{grid-template-columns: repeat(4, 1fr);}}@media (max-width: 1024px){.so_sidebar{width: 220px;}.so_content{margin-left: 220px;}.so_product_grid{grid-template-columns: repeat(4, 1fr);}.so_form_grid_3{grid-template-columns: repeat(2, 1fr);}}.so_mobile_topbar{display: none;}.so_drawer_overlay{display: none;}.so_drawer_panel{display: none;}.so_mobile_cat_chips{display: none;}.so_chip_icon{font-size: 11px; flex-shrink: 0; margin-right: 5px; line-height: 1; display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex; align-items: center;}.so_chip_icon_default{opacity: 0.35;}.so_chip_label{white-space: nowrap; line-height: 1; overflow: hidden; text-overflow: ellipsis; max-width: 120px;}@media (max-width: 480px){.so_layout{-webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column; height: auto; min-height: unset; overflow: visible; display: -webkit-box; display: -webkit-flex; display: flex;}.so_sidebar{position: sticky !important; top: 0 !important; width: 100% !important; height: auto !important; z-index: 8 !important; border-right: none; border-bottom: none; overflow-y: visible !important; background: #ffffff; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06); flex-shrink: 0;}.so_content{z-index: 8;}.so_sidebar_header{display: none;}.so_cat_tabs{display: none;}.so_nav_panel{display: none !important;}.so_sidebar_cart{display: none;}.so_mobile_topbar{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 8px; padding: 8px 12px; background: #ffffff; border-bottom: 1px solid #e5e7eb; min-height: 44px;}.so_burger_btn{display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column; justify-content: center; gap: 4px; width: 34px; height: 34px; background: none; border: none; cursor: pointer; padding: 6px; border-radius: 7px; flex-shrink: 0; transition: background 0.15s;}.so_burger_btn:hover{background: #f3f4f6;}.so_burger_btn span{display: block; width: 100%; height: 2px; background: #111827; border-radius: 2px; transition: all 0.2s ease;}.so_mobile_store_label{font-size: 14px; font-weight: 800; color: #1a1a1a; flex: 1;}.so_drawer_overlay{display: none; position: fixed; inset: 0; background: rgba(0, 0, 0, 0.45); z-index: 1100; animation: so_overlay_fadein 0.2s ease;}.so_drawer_overlay.so_drawer_open{display: block;}@keyframes so_overlay_fadein{from{opacity: 0;}to{opacity: 1;}}.so_drawer_panel{display: -webkit-box; display: -webkit-flex; display: flex; position: fixed; top: 0; left: 0; width: 80vw; max-width: 300px; height: 100vh; background: #ffffff; z-index: 1200; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column; overflow-y: auto; transform: translateX(-100%); transition: transform 0.28s cubic-bezier(0.25, 0.46, 0.45, 0.94); box-shadow: 4px 0 24px rgba(0, 0, 0, 0.12); will-change: transform;}.so_drawer_panel.so_drawer_open{transform: translateX(0);}.so_drawer_header{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; justify-content: space-between; padding: 18px 20px 14px; border-bottom: 1px solid #f0f0f0;}.so_drawer_title{font-size: 16px; font-weight: 700; color: #111827;}.so_drawer_store_sub{font-size: 12px; color: #6b7280; margin-top: 2px;}.so_drawer_close_btn{width: 36px; height: 36px; background: #f3f4f6; border: none; border-radius: 50%; cursor: pointer; font-size: 18px; color: #374151; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; justify-content: center; transition: background 0.15s; flex-shrink: 0;}.so_drawer_close_btn:hover{background: #e5e7eb;}.so_drawer_nav{flex: 1; padding: 8px 0; overflow-y: auto;}.so_drawer_nav .so_nav_panel{display: none !important;}.so_drawer_nav .so_nav_panel.so_panel_active{display: block !important;}.so_drawer_nav .so_nav_all, .so_drawer_nav .so_nav_parent{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 8px; padding: 13px 20px; font-size: 15px; font-weight: 600; color: #111827; background: none; border: none; border-left: none; width: 100%; transition: background 0.12s; text-decoration: none;}.so_drawer_nav .so_nav_all{color: #1a1a1a; font-weight: 700;}.so_drawer_nav .so_nav_all.active{background: #f3f4f6;}.so_drawer_nav .so_nav_parent:hover, .so_drawer_nav .so_nav_all:hover{background: #f9fafb;}.so_drawer_nav .so_nav_parent.active{background: #f3f4f6; border-left: 3px solid #111827; padding-left: 17px;}.so_drawer_nav .so_nav_arrow{font-size: 14px; color: #9ca3af; transition: transform 0.2s ease; margin-left: auto; padding: 4px 2px; cursor: pointer;}.so_drawer_nav .so_nav_parent.active .so_nav_arrow, .so_drawer_nav .so_nav_parent.so_arrow_open .so_nav_arrow{transform: rotate(180deg); color: #374151;}.so_drawer_nav .so_nav_children{display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column; background: #f9fafb; border-left: 3px solid #e5e7eb; margin-left: 20px; max-height: 0; overflow: hidden; transition: max-height 0.25s ease;}.so_drawer_nav .so_nav_children.open{max-height: 600px; padding: 4px 0;}.so_drawer_nav .so_nav_child{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 7px; padding: 10px 16px; font-size: 14px; font-weight: 500; color: #374151; text-decoration: none; transition: background 0.12s, color 0.12s;}.so_drawer_nav .so_nav_child:hover{color: #111827; background: #f3f4f6;}.so_drawer_nav .so_nav_child.active{color: #111827; font-weight: 700; background: #f3f4f6; border-left: 2px solid #111827; padding-left: 14px;}.so_mobile_cat_chips{display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column; gap: 0; padding: 0; overflow-x: visible; background: #ffffff; border-bottom: 1px solid #e5e7eb;}.so_chips_row{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 6px; padding: 6px 12px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; width: 100%;}.so_chips_row::-webkit-scrollbar{display: none;}.so_chips_row_parents{border-bottom: 1px solid #f0f0f0;}.so_chips_row_children{background: #f9fafb; padding: 5px 12px;}.so_chip{flex-shrink: 0; display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex; align-items: center; gap: 0; padding: 5px 11px; border-radius: 20px; font-size: 11px; font-weight: 600; background: #f3f4f6; color: #6b7280; border: 1.5px solid #e5e7eb; cursor: pointer; transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease; white-space: nowrap; user-select: none; height: 30px; max-width: 160px;}.so_chip:hover{background: #e5e7eb; color: #374151; border-color: #d1d5db;}.so_chip.active{background: #1a1a1a; color: #ffffff; border-color: #1a1a1a;}.so_chip.active .so_chip_icon_default{opacity: 0.6;}.so_chip.so_chip_parent{font-weight: 700;}.so_chips_row_children .so_chip{font-size: 10px; height: 26px; padding: 4px 10px;}.so_chips_row_children .so_chip_icon{font-size: 10px;}.so_content{margin-left: 0 !important; padding: 0 10px 100px 10px; height: auto; overflow: visible;}.so_content > .so_topbar{position: sticky; top: 78px; z-index: 450; background: #ffffff; padding: 8px 0; margin-bottom: 0; border-bottom: 1px solid #f0f0f0;}#so_filter_bar{position: sticky; top: 130px; z-index: 399; background: #ffffff; padding-top: 6px; padding-bottom: 4px; margin-bottom: 6px;}.so_search_bar_wrap{max-width: 100%; margin-bottom: 0;}.so_search_input{padding: 8px 36px 8px 36px; font-size: 13px;}.so_search_icon{left: 11px; font-size: 12px;}.so_search_clear{right: 8px; width: 22px; height: 22px; font-size: 10px;}.so_cart_icon_btn{width: 36px; height: 36px; font-size: 15px;}.so_product_grid{grid-template-columns: repeat(2, 1fr); gap: 8px;}.so_section_header{align-items: flex-start; gap: 4px; margin-bottom: 10px; padding-bottom: 8px;}.so_section_title{font-size: 15px; font-weight: 800;}.so_section_icon{font-size: 14px; opacity: 0.75;}.so_section_count{font-size: 11px;}.so_section_header_right{gap: 5px;}.so_product_card{border-radius: 8px; min-width: 175px;}.so_card_image_wrap{min-height: 130px;}.so_card_img{padding: 6px;}.so_card_body{padding: 5px 7px 7px; gap: 2px;}.so_card_sku{font-size: 9px; letter-spacing: 0.3px;}.so_card_name{font-size: 11px; line-height: 1.3;}.so_variant_select{font-size: 10px; padding: 3px 6px; margin-top: 1px;}.so_card_price{font-size: 12px; font-weight: 800; padding-top: 4px;}.so_add_btn{width: 26px; height: 26px; font-size: 18px; bottom: 5px; right: 5px;}.so_qty_ctrl{bottom: 5px; right: 5px; height: 26px;}.so_qty_ctrl button{width: 24px; height: 24px; font-size: 15px;}.so_qty_input{width: 26px; height: 22px; font-size: 11px;}.so_qty_badge{width: 18px; height: 18px; font-size: 9px; top: 5px; left: 5px;}.so_see_all_btn{font-size: 10px; padding: 3px 8px;}.so_carousel_prev, .so_carousel_next{width: 26px; height: 26px; font-size: 14px;}.so_carousel_indicator{font-size: 10px;}.so_float_cart{bottom: 12px; padding: 12px 20px; min-width: 170px; gap: 8px;}.so_float_cart_icon{font-size: 14px;}#so_float_item_count{font-size: 13px;}.so_float_cart_sep{font-size: 13px;}#so_float_total{font-size: 13px;}.so_cart_dropdown{width: calc(100vw - 32px); right: -8px;}.so_dd_item_img_wrap{width: 38px; height: 38px;}.so_osc_item_img_wrap{width: 42px; height: 42px;}.so_osc_item_name{font-size: 12px;}.so_osc_item_qty_price{font-size: 10px;}.so_osc_item_subtotal{font-size: 12px;}.so_form_grid_3, .so_form_grid_2{grid-template-columns: 1fr;}.so_form_section{padding: 16px;}.so_submit_row{flex-direction: column-reverse; gap: 10px;}.so_btn{width: 100%; font-size: 16px; padding: 14px;}.so_checkout_header{-webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column; align-items: flex-start;}.so_ty_wrapper{padding: 24px 16px;}.so_ty_info_grid{grid-template-columns: 1fr;}.so_ty_table thead{display: none;}.so_ty_table, .so_ty_table tbody, .so_ty_table tr, .so_ty_table td{display: block; width: 100%;}.so_ty_table tbody tr{border: 1px solid #e5e7eb; border-radius: 6px; margin-bottom: 10px; padding: 10px;}.so_ty_table td{text-align: left !important; padding: 4px 0; border: none; display: -webkit-box; display: -webkit-flex; display: flex; justify-content: space-between;}.so_ty_table td::before{content: attr(data-label); font-weight: 600; font-size: 11px; color: #9ca3af; text-transform: uppercase;}.so_carousel_wrap{overflow: visible; touch-action: pan-x pan-y;}.so_product_section{overflow-x: clip;}.so_carousel_dots{display: none !important;}#so_drawer_nav .so_nav_panel{display: none !important;}#so_drawer_nav .so_nav_panel.so_panel_active{display: block !important;}.so_best_sellers_section, .so_top_sellers_section{padding: 0; border-radius: 0; margin-bottom: 24px;}.so_seller_badge{font-size: 8px; padding: 2px 5px; top: 5px; right: 5px; gap: 2px;}}.so_cat_tabs{display: -webkit-box; display: -webkit-flex; display: flex; border-bottom: 2px solid #e5e7eb; background: #fff; flex-shrink: 0;}.so_cat_tab{flex: 1; padding: 10px 8px; font-size: 12px; font-weight: 600; color: #6b7280; background: none; border: none; border-bottom: 2px solid transparent; margin-bottom: -2px; cursor: pointer; transition: color 0.2s ease, background 0.2s ease; text-align: center; white-space: nowrap;}.so_cat_tab:hover{color: #111827; background: #f3f4f6;}.so_cat_tab.active{color: #111827; border-bottom-color: #111827; background: #ffffff;}.so_skeleton{background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%); background-size: 200% 100%; animation: so_shimmer 1.4s infinite; border-radius: 4px;}@keyframes so_shimmer{0%{background-position: 200% 0;}100%{background-position: -200% 0;}}.so_skeleton_card{pointer-events: none; opacity: 0.8;}.so_skeleton_img{width: 100%; aspect-ratio: 1;}.so_skeleton_line{height: 12px; margin: 6px 0;}#so_product_grid_wrap{min-height: 200px;}.so_carousel_wrap{position: relative; width: 100%; contain: layout style; overflow: hidden;}.so_carousel_wrap:not(.so-ready) .so_carousel_scroll_track{visibility: hidden; min-height: 260px;}.so_carousel_wrap:not(.so-ready)::after{content: ''; display: block; position: absolute; inset: 0; background: linear-gradient(90deg, #f3f4f6 0%, #e5e7eb 20%, #f3f4f6 40%, #f3f4f6 100%); background-size: 200% 100%; animation: so_shimmer 1.4s ease infinite; border-radius: 8px; z-index: 2;}.so_carousel_wrap.so-ready::after{display: none;}.so_carousel_wrap.so-ready .so_carousel_scroll_track{visibility: visible;}.so_carousel_scroll_track{display: -webkit-box; display: -webkit-flex; display: flex; flex-direction: row; gap: 16px; overflow-x: auto; overflow-y: visible; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; -ms-overflow-style: none; padding-bottom: 4px; will-change: scroll-position; padding-right: 16px; min-height: 220px; overscroll-behavior-x: contain;}.so_carousel_scroll_track::-webkit-scrollbar{display: none; width: 0; height: 0;}.so_carousel_scroll_track .so_product_card{flex: 0 0 calc((100% - 4 * 16px) / 5); min-width: 160px; max-width: 240px; scroll-snap-align: start; scroll-snap-stop: always; box-sizing: border-box; height: auto !important;}.so_carousel_scroll_track .so_product_card.so_hidden{display: none !important;}.so_carousel_nav{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 6px;}.so_carousel_prev, .so_carousel_next{width: 32px; height: 32px; border: 1.5px solid #e5e7eb; background: #f3f4f6; border-radius: 50%; font-size: 18px; line-height: 1; color: #1f2937; cursor: pointer; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; justify-content: center; transition: background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease; padding: 0; flex-shrink: 0; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);}.so_carousel_prev:hover, .so_carousel_next:hover{background: #e5e7eb; border-color: #d1d5db; transform: scale(1.08); box-shadow: 0 3px 8px rgba(0, 0, 0, 0.12);}.so_carousel_prev:disabled, .so_carousel_next:disabled{opacity: 0.35; cursor: not-allowed; transform: none; box-shadow: none; background: #f9fafb; border-color: #e5e7eb; color: #9ca3af;}.so_carousel_indicator{font-size: 12px; color: #6b7280; white-space: nowrap; min-width: 36px; text-align: center;}.so_carousel_dots{display: -webkit-box; display: -webkit-flex; display: flex; justify-content: center; gap: 6px; margin-top: 14px;}.so_carousel_dot{width: 8px; height: 8px; border-radius: 50%; background: #d1d5db; cursor: pointer; transition: background 0.2s ease, width 0.2s ease, border-radius 0.2s ease; display: inline-block;}.so_carousel_dot.active{background: #1a1a1a; width: 20px; border-radius: 4px;}@media (max-width: 1024px){.so_carousel_scroll_track .so_product_card{flex: 0 0 calc((100% - 2 * 16px) / 3.3); min-width: 140px; max-width: none;}}@media (max-width: 768px){.so_carousel_scroll_track .so_product_card{flex: 0 0 calc((100% - 1 * 16px) / 2.3); min-width: 130px; max-width: none;}}@media (max-width: 480px){.so_carousel_scroll_track{gap: 10px; scroll-snap-type: x mandatory; padding-right: 0;}.so_carousel_scroll_track .so_product_card{flex: 0 0 calc((100% - 10px) / 2.3); min-width: 110px; max-width: none; scroll-snap-align: start; scroll-snap-stop: normal;}.so_carousel_dots{display: none !important;}}.so_filter_bar{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 8px; margin-bottom: 20px; -webkit-flex-wrap: wrap; flex-wrap: wrap;}.so_filter_btn{display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; background: #ffffff; border: 1.5px solid #d1d5db; border-radius: 20px; font-size: 13px; font-weight: 600; color: #374151; cursor: pointer; transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease; white-space: nowrap; position: relative; user-select: none;}.so_filter_btn:hover{border-color: #9ca3af; background: #f9fafb;}.so_filter_btn.so_filter_active{background: #1a1a1a; border-color: #1a1a1a; color: #ffffff;}.so_filter_btn .so_filter_chevron{font-size: 10px; transition: transform 0.2s ease; opacity: 0.6;}.so_filter_btn.so_filter_open .so_filter_chevron{transform: rotate(180deg);}.so_filter_badge{display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; background: #ffffff; color: #1a1a1a; border-radius: 999px; font-size: 10px; font-weight: 800; padding: 0 4px; margin-left: 2px;}.so_filter_btn:not(.so_filter_active) .so_filter_badge{background: #374151; color: #fff;}.so_filter_dropdown{position: absolute; top: calc(100% + 8px); left: 0; min-width: 240px; background: #ffffff; border: 1.5px solid #e5e7eb; border-radius: 14px; box-shadow: 0 10px 36px rgba(0, 0, 0, 0.11); z-index: 5000; overflow: hidden; opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s ease; pointer-events: none;}.so_filter_dropdown.so_fd_visible{opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto;}.so_fd_header{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; justify-content: space-between; padding: 14px 16px 12px; border-bottom: 1px solid #f0f0f0;}.so_fd_title{font-size: 15px; font-weight: 700; color: #111827;}.so_fd_close{width: 28px; height: 28px; border-radius: 50%; background: #f3f4f6; border: none; cursor: pointer; font-size: 15px; color: #6b7280; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; justify-content: center; transition: background 0.12s;}.so_fd_close:hover{background: #e5e7eb;}.so_fd_body{padding: 8px 0; max-height: 280px; overflow-y: auto; overscroll-behavior: contain;}.so_fd_body::-webkit-scrollbar{width: 4px;}.so_fd_body::-webkit-scrollbar-thumb{background: #e5e7eb; border-radius: 4px;}.so_fd_radio_row{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 12px; padding: 11px 16px; cursor: pointer; transition: background 0.12s; font-size: 14px; color: #374151;}.so_fd_radio_row:hover{background: #f9fafb;}.so_fd_radio_row input[type="radio"]{width: 16px; height: 16px; accent-color: #1a1a1a; cursor: pointer; flex-shrink: 0;}.so_fd_check_row{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 12px; padding: 10px 16px; cursor: pointer; transition: background 0.12s; font-size: 14px; color: #374151;}.so_fd_check_row:hover{background: #f9fafb;}.so_fd_check_row input[type="checkbox"]{width: 16px; height: 16px; accent-color: #1a1a1a; cursor: pointer; flex-shrink: 0; border-radius: 3px;}.so_fd_footer{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; -webkit-box-pack: end; justify-content: flex-end; gap: 8px; padding: 12px 16px; border-top: 1px solid #f0f0f0; background: #f9fafb;}.so_fd_reset_btn{padding: 8px 16px; background: none; border: 1.5px solid #d1d5db; border-radius: 6px; font-size: 13px; font-weight: 600; color: #6b7280; cursor: pointer; transition: border-color 0.15s, color 0.15s;}.so_fd_reset_btn:hover{border-color: #9ca3af; color: #374151;}.so_fd_apply_btn{padding: 8px 20px; background: #1a1a1a; border: none; border-radius: 6px; font-size: 13px; font-weight: 700; color: #fff; cursor: pointer; transition: background 0.15s;}.so_fd_apply_btn:hover{background: #333;}.so_active_filters{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 8px; -webkit-flex-wrap: wrap; flex-wrap: wrap; margin-bottom: 16px; animation: so_af_fadein 0.2s ease;}@keyframes so_af_fadein{from{opacity: 0; transform: translateY(-4px);}to{opacity: 1; transform: translateY(0);}}.so_active_filter_pill{display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px 4px 12px; background: #f3f4f6; border: 1.5px solid #e5e7eb; border-radius: 999px; font-size: 12px; font-weight: 600; color: #374151; animation: so_pill_pop 0.18s ease;}@keyframes so_pill_pop{from{opacity: 0; transform: scale(0.85);}to{opacity: 1; transform: scale(1);}}.so_af_remove{width: 18px; height: 18px; border-radius: 50%; background: #d1d5db; border: none; cursor: pointer; color: #6b7280; font-size: 10px; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; justify-content: center; transition: background 0.12s, color 0.12s; padding: 0; flex-shrink: 0;}.so_af_remove:hover{background: #ef4444; color: #fff;}.so_af_clear_all{font-size: 12px; font-weight: 600; color: #9ca3af; background: none; border: none; cursor: pointer; padding: 4px 8px; border-radius: 4px; transition: color 0.12s;}.so_af_clear_all:hover{color: #ef4444;}.so_filtered_count{font-size: 13px; color: #6b7280; margin-bottom: 12px; font-weight: 500;}.so_filtered_count strong{color: #111827;}@media (max-width: 480px){.so_filter_bar{gap: 5px; margin-bottom: 6px; -webkit-flex-wrap: wrap; flex-wrap: wrap;}.so_filter_btn{font-size: 11px; padding: 5px 10px; height: 28px; border-radius: 14px;}.so_filter_dropdown{min-width: 200px;}}.so_subcat_bar{position: sticky; top: 125px; z-index: 399; background: #ffffff; border-bottom: 1px solid #f0f0f0; padding: 8px 0 6px; margin-bottom: 12px; contain: layout style;}.so_subcat_bar_inner{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 0; position: relative;}.so_subcat_arrow{flex-shrink: 0; width: 32px; height: 32px; border: 1.5px solid #e5e7eb; background: #ffffff; border-radius: 50%; font-size: 18px; line-height: 1; color: #374151; cursor: pointer; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; justify-content: center; transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08); z-index: 2; padding: 0; user-select: none;}.so_subcat_arrow:hover:not(:disabled){background: #f3f4f6; border-color: #d1d5db; transform: scale(1.08); box-shadow: 0 3px 8px rgba(0, 0, 0, 0.12);}.so_subcat_arrow:disabled{opacity: 0.3; cursor: not-allowed; transform: none; box-shadow: none;}.so_subcat_arrow_prev{margin-right: 8px;}.so_subcat_arrow_next{margin-left: 8px;}.so_subcat_track{flex: 1; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 8px; overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; scroll-behavior: smooth; padding: 3px 2px 5px;}.so_subcat_track::-webkit-scrollbar{display: none;}.so_subcat_pill{flex-shrink: 0; display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex; align-items: center; gap: 6px; padding: 7px 16px; border-radius: 24px; font-size: 13px; font-weight: 600; background: #f3f4f6; color: #6b7280; border: 1.5px solid #e5e7eb; cursor: pointer; white-space: nowrap; user-select: none; transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease; line-height: 1;}.so_subcat_pill:hover{background: #e5e7eb; color: #374151; border-color: #d1d5db; transform: translateY(-1px); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);}.so_subcat_pill.active{background: #1a1a1a; color: #ffffff; border-color: #1a1a1a; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);}.so_subcat_pill.active:hover{background: #333333; border-color: #333333;}.so_subcat_pill_icon{font-size: 12px; flex-shrink: 0; line-height: 1; display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex; align-items: center;}.so_subcat_pill_icon_default{opacity: 0.35;}.so_nav:not(#so_drawer_nav .so_nav) .so_nav_arrow{display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex; align-items: center;}.so_nav.so_nav_panel .so_nav_children{display: none;}.so_nav.so_nav_panel .so_nav_children.open{display: block; max-height: 320px; overflow-y: auto;}@media (max-width: 480px){.so_subcat_bar{top: 138px; margin-bottom: 6px; padding: 5px 0 4px;}.so_subcat_arrow{width: 26px; height: 26px; font-size: 14px;}.so_subcat_arrow_prev{margin-right: 5px;}.so_subcat_arrow_next{margin-left: 5px;}.so_subcat_track{gap: 6px; padding: 2px 1px 4px;}.so_subcat_pill{font-size: 11px; padding: 5px 12px; gap: 5px; border-radius: 18px;}.so_subcat_pill_icon{font-size: 10px;}}.so_subcat_bar{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 6px; padding: 8px 12px; background: #fff; border: 1px solid #e5e7eb; border-radius: 10px; margin-bottom: 16px; overflow: hidden;}.so_subcat_track{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 8px; overflow-x: auto; scroll-behavior: smooth; scrollbar-width: none; -ms-overflow-style: none; flex: 1; padding: 2px 0;}.so_subcat_track::-webkit-scrollbar{display: none;}.so_subcat_pill{display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border-radius: 999px; border: 1.5px solid #d1d5db; background: #fff; color: #374151; font-size: 13px; font-weight: 500; white-space: nowrap; cursor: pointer; transition: all 0.18s ease; outline: none; line-height: 1.4;}.so_subcat_pill:hover{border-color: #6b7280; background: #f9fafb;}.so_subcat_pill.active{background: #111827; border-color: #111827; color: #fff;}.so_subcat_pill.active .so_chip_dot{background: #fff; box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.3);}.so_chip_dot{display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #9ca3af; flex-shrink: 0; transition: background 0.18s;}.so_subcat_pill:hover .so_chip_dot{background: #4b5563;}.so_subcat_arrow{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; border: 1.5px solid #d1d5db; background: #fff; color: #374151; cursor: pointer; flex-shrink: 0; font-size: 11px; transition: all 0.15s ease; padding: 0;}.so_subcat_arrow:hover:not(:disabled){background: #f3f4f6; border-color: #9ca3af;}.so_subcat_arrow:disabled{opacity: 0.35; cursor: default;}@media (max-width: 768px){#so_drawer_nav .so_nav_children{display: none !important;}}.so_mobile_cat_chips{flex-direction: row; align-items: center; gap: 4px; padding: 6px 8px;}.so_chip_arrow{flex-shrink: 0; width: 26px; height: 26px; border: 1.5px solid #d1d5db; background: #ffffff; border-radius: 50%; font-size: 11px; color: #374151; cursor: pointer; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; justify-content: center; transition: background 0.15s, border-color 0.15s; padding: 0;}.so_chip_arrow:hover:not(:disabled){background: #f3f4f6; border-color: #9ca3af;}.so_chip_arrow:disabled{opacity: 0.3; cursor: default;}.so_chips_row.so_chips_row_parents{flex: 1; border-bottom: none; padding: 0;}@media (max-width: 480px){header#top{z-index: 1030 !important;}.so_burger_btn{display: none !important;}.so_drawer_overlay, .so_drawer_panel{display: none !important;}.so_sidebar{position: sticky !important; top: 0 !important; width: 100% !important; height: auto !important; z-index: 500 !important; border-right: none; border-bottom: none; overflow-y: visible !important; overflow-x: visible !important; background: #ffffff; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.07); flex-shrink: 0; contain: none;}.so_sidebar_header, .so_cat_tabs, .so_nav_panel, .so_sidebar_cart{display: none !important;}.so_mobile_topbar{display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; padding: 8px 12px; background: #ffffff; border-bottom: 1px solid #e5e7eb; min-height: 40px; gap: 8px;}.so_mobile_store_label{font-size: 14px; font-weight: 800; color: #1a1a1a; flex: 1;}.so_mobile_cat_chips{display: -webkit-box !important; display: -webkit-flex !important; display: flex !important; flex-direction: row; align-items: center; gap: 4px; padding: 5px 8px; background: #ffffff; border-bottom: 1px solid #e5e7eb; overflow: visible; position: sticky; top: 86px; z-index: 450; width: 100%; box-sizing: border-box;}.so_chips_row.so_chips_row_parents{flex: 1; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 6px; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; padding: 3px 0; border-bottom: none;}.so_chips_row.so_chips_row_parents::-webkit-scrollbar{display: none;}.so_chip_arrow{flex-shrink: 0; width: 26px; height: 26px; border: 1.5px solid #d1d5db; background: #ffffff; border-radius: 50%; font-size: 11px; color: #374151; cursor: pointer; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; justify-content: center; transition: background 0.15s, border-color 0.15s; padding: 0; flex-shrink: 0;}.so_chip_arrow:hover:not(:disabled){background: #f3f4f6; border-color: #9ca3af;}.so_chip_arrow:disabled{opacity: 0.3; cursor: default;}.so_chip{flex-shrink: 0; display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex; align-items: center; gap: 5px; padding: 5px 11px; border-radius: 20px; font-size: 11px; font-weight: 600; background: #f3f4f6; color: #6b7280; border: 1.5px solid #e5e7eb; cursor: pointer; white-space: nowrap; user-select: none; height: 30px; max-width: 160px; transition: background 0.15s, color 0.15s, border-color 0.15s;}.so_chip:hover{background: #e5e7eb; color: #374151; border-color: #d1d5db;}.so_chip.active{background: #1a1a1a; color: #ffffff; border-color: #1a1a1a;}.so_chip.active .so_chip_icon_default{opacity: 0.6;}.so_chip_label{white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100px; line-height: 1;}.so_chip_icon{font-size: 11px; flex-shrink: 0; line-height: 1;}.so_chip_icon_default{opacity: 0.35;}.so_subcat_bar{position: sticky; top: 138px; z-index: 398; background: #ffffff; border-bottom: 1px solid #f0f0f0; padding: 5px 8px 4px; margin-bottom: 6px; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 5px; contain: none;}.so_content{margin-left: 0 !important; padding: 0 10px 100px 10px; height: auto; overflow: visible; z-index: 8;}.so_content > .so_topbar{position: sticky; top: 85px; z-index: 449; background: #ffffff; padding: 8px 0; margin-bottom: 0; border-bottom: 1px solid #f0f0f0;}#so_filter_bar{position: sticky; top: 170px; z-index: 397; background: #ffffff; padding-top: 6px; padding-bottom: 4px; margin-bottom: 6px;}.so_layout{-webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column; height: auto; min-height: unset; overflow: visible;}}@media (max-width: 480px){:root{--odoo-navbar-height: 46px;}}.so_next_btn{position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); background: #1a1a1a; color: #ffffff; border: none; border-radius: 50px; padding: 14px 28px; font-size: 15px; font-weight: 700; cursor: pointer; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 8px; white-space: nowrap; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); z-index: 1000; min-width: 200px; max-width: calc(100vw - 40px); justify-content: center; animation: so_next_slideUp 0.3s ease; user-select: none; will-change: transform; transition: background 0.18s ease, box-shadow 0.18s ease;}.so_next_btn:hover{background: #333333; box-shadow: 0 10px 36px rgba(0, 0, 0, 0.38);}.so_next_btn:active{transform: translateX(-50%) scale(0.97);}.so_next_btn.so_next_loading{background: #444; cursor: not-allowed; pointer-events: none; gap: 10px;}.so_next_btn.so_next_loading::after{content: ''; display: inline-block; width: 14px; height: 14px; border: 2px solid rgba(255, 255, 255, 0.35); border-top-color: #ffffff; border-radius: 50%; animation: so_next_spin 0.7s linear infinite; flex-shrink: 0; margin-left: 0;}@keyframes so_next_slideUp{from{opacity: 0; transform: translateX(-50%) translateY(20px);}to{opacity: 1; transform: translateX(-50%) translateY(0);}}@keyframes so_next_spin{to{transform: rotate(360deg);}}@media (max-width: 480px){.so_next_btn{bottom: 12px; padding: 12px 20px; font-size: 13px; min-width: 170px; gap: 6px;}}.so_cart_icon_btn{cursor: pointer;}.so_cart_icon_wrap{position: relative; display: -webkit-box; display: -webkit-flex; display: flex; align-items: center; gap: 8px; flex-shrink: 0;}.so_carousel_track .so_product_card{flex: 0 0 calc((100% - 3 * 16px) / 4); max-width: calc((100% - 3 * 16px) / 4);}@media (max-width: 1024px){.so_carousel_track .so_product_card{flex: 0 0 calc((100% - 2 * 16px) / 3); max-width: calc((100% - 2 * 16px) / 3);}}@media (max-width: 768px){.so_carousel_track .so_product_card{flex: 0 0 calc((100% - 1 * 16px) / 2); max-width: calc((100% - 1 * 16px) / 2);}}@media (max-width: 480px){.so_carousel_track .so_product_card{flex: 0 0 100%; max-width: 100%;}}