:root{--color-primary: #13175f;--color-primary-dark: #0d1047;--color-accent: #df6106;--color-danger: #e74c3c;--color-success: #2e9e5b;--color-success-dark: #257e49;--color-text: #2c3e50;--color-text-muted: #7f8c8d;--color-border: #e5e7eb;--color-bg-surface: #ffffff;--color-bg-page: #f4f4f6;--container-max-width: 430px;--product-grid-columns: 2;--radius-sm: 7px;--radius-md: 12px;--radius-full: 999px;--shadow-resting: 0 2px 8px rgba(15, 23, 42, .08);--shadow-hover: 0 8px 20px rgba(15, 23, 42, .14);--space-1: 3px;--space-2: 6px;--space-3: 9px;--space-4: 12px;--space-5: 15px;--space-6: 18px;--font-size-xs: .65rem;--font-size-sm: .72rem;--font-size-md: .85rem;--font-size-lg: 1.05rem}@media (min-width: 768px){:root{--container-max-width: 720px;--product-grid-columns: 3}}*{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0)}button,a,[role=button]{-webkit-tap-highlight-color:rgba(0,0,0,0)}button:focus:not(:focus-visible),a:focus:not(:focus-visible),[role=button]:focus:not(:focus-visible){outline:none}html,body{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--color-bg-page);color:var(--color-text)}.app-container{width:100%;margin:0;padding:0}.header{background-color:var(--color-bg-surface);padding:var(--space-3) var(--space-4);position:sticky;top:0;z-index:1000}.header-container{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:nowrap}.header-left{display:flex;align-items:center;flex-shrink:0}.logo-img{height:30px;width:auto}.header-right{display:flex;align-items:center;gap:var(--space-2);order:2;flex-grow:1;justify-content:flex-end}.search-bar{display:flex;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-2) var(--space-3);background-color:var(--color-bg-surface);box-shadow:var(--shadow-resting);flex-grow:1;min-width:0}.search-input{border:none;background:transparent;outline:none;width:100%;font-size:var(--font-size-md);padding:0 var(--space-2)}.search-btn{background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:0}.cart-fab-wrapper{position:fixed;bottom:calc(65px + var(--space-3));left:0;right:0;max-width:var(--container-max-width);margin:0 auto;display:flex;justify-content:flex-end;padding:0 var(--space-4);pointer-events:none;z-index:1140}.cart-fab{pointer-events:auto;width:52px;height:52px;border-radius:var(--radius-full);background-color:var(--color-primary);color:#fff;border:none;box-shadow:var(--shadow-hover);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.3rem;position:relative;transition:background-color .2s ease}.cart-fab:hover{background-color:var(--color-primary-dark)}.cart-item-count{position:absolute;top:-5px;right:-5px;background-color:var(--color-danger);color:#fff;border-radius:var(--radius-full);padding:2px 6px;font-size:var(--font-size-xs);font-weight:700;line-height:1}.logo-link{text-decoration:none;color:inherit}.logo-link .store-name{text-decoration:none}.simple-header-container{display:flex;align-items:center;gap:var(--space-3)}.back-btn{background:none;border:none;cursor:pointer;color:var(--color-primary);font-size:1.1rem;padding:var(--space-1);display:flex;align-items:center}.back-btn:hover{color:var(--color-primary-dark)}.simple-header-title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text);margin:0}.floating-bottom-nav{position:fixed;bottom:0;left:0;right:0;width:100%;max-width:var(--container-max-width);margin:0 auto;background-color:var(--color-bg-surface);box-shadow:var(--shadow-hover);z-index:1150;padding-top:var(--space-2)}.nav-container{display:flex;justify-content:space-around;align-items:center;height:55px;padding:0 var(--space-1) var(--space-1)}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:var(--color-text-muted);flex-grow:1;padding:var(--space-1) 0;transition:color .2s;position:relative;background:none;border:none;font:inherit;cursor:pointer}.nav-icon{font-size:1.2em;margin-bottom:2px;color:var(--color-text-muted);position:relative}.nav-text{font-size:.65em;font-weight:500;color:var(--color-text-muted)}.nav-item.active .nav-icon,.nav-item.active .nav-text{color:var(--color-primary)}body{padding-bottom:65px}.main-container{width:100%;max-width:var(--container-max-width);min-height:100vh;margin:0 auto;background-color:var(--color-bg-surface);transition:max-width .2s ease}.auth-page{display:flex;justify-content:center;align-items:flex-start;padding:var(--space-6) var(--space-4);background-color:var(--color-bg-surface)}.auth-card{width:100%;max-width:360px;background-color:var(--color-bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-hover);padding:var(--space-6) var(--space-5)}.auth-hero{text-align:center;margin-bottom:var(--space-6)}.auth-logo{height:40px;width:auto;margin-bottom:var(--space-4)}.auth-title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text);margin:0 0 var(--space-2)}.auth-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.auth-card .form-group{margin-bottom:var(--space-4)}.auth-card .form-group label{display:block;font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--space-2);color:var(--color-text-muted)}.auth-input-wrapper{position:relative;display:flex;align-items:center}.auth-input-icon{position:absolute;left:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm);pointer-events:none}.auth-card .form-group input{width:100%;padding:var(--space-3) var(--space-3) var(--space-3) 36px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-bg-page);font-size:var(--font-size-md);box-sizing:border-box;transition:border-color .2s ease,background-color .2s ease}.auth-card .form-group input:focus{outline:none;border-color:var(--color-primary);background-color:var(--color-bg-surface)}.auth-btn{width:100%;background-color:var(--color-primary);color:#fff;border:none;padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:600;cursor:pointer;margin-top:var(--space-2);transition:background-color .2s ease}.auth-btn:hover{background-color:var(--color-primary-dark)}.auth-btn:disabled{background-color:var(--color-border);color:var(--color-text-muted);cursor:not-allowed}.auth-error-text{font-size:var(--font-size-xs);color:var(--color-danger);margin:var(--space-2) 0 0}.auth-footer-prompt{text-align:center;font-size:var(--font-size-sm);color:var(--color-text-muted);margin:var(--space-5) 0 0}.auth-footer-link{color:var(--color-primary);font-weight:600;text-decoration:none}.auth-footer-link:hover{color:var(--color-primary-dark)}.auth-forgot-password{text-align:right;margin-top:var(--space-2);font-size:var(--font-size-sm)}.otp-digit-row{display:flex;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-5)}.otp-digit-input{width:44px;height:52px;text-align:center;font-size:var(--font-size-lg);font-weight:700;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-bg-page);box-sizing:border-box;transition:border-color .2s ease,background-color .2s ease}.otp-digit-input:focus{outline:none;border-color:var(--color-primary);background-color:var(--color-bg-surface)}.otp-resend-cooldown{color:var(--color-text-muted);font-weight:600}.otp-resend-btn{background:none;border:none;padding:0;font:inherit;cursor:pointer}.profile-page{padding-bottom:150px}.profile-header-card{background-color:var(--color-bg-surface);box-shadow:var(--shadow-resting);margin:var(--space-4) var(--space-4) 0;border-radius:var(--radius-md);padding:var(--space-4)}.profile-header-content{display:flex;align-items:center;gap:var(--space-3)}.profile-avatar{width:52px;height:52px;flex-shrink:0;border-radius:var(--radius-full);background-color:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:700}.profile-header-info{flex:1;min-width:0}.profile-name{font-size:var(--font-size-md);font-weight:700;color:var(--color-text);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-name-row{display:flex;align-items:center;gap:6px;min-width:0}.profile-verified-badge{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:999px;background:#dcfce7;color:#15803d;font-size:11px;font-weight:600;line-height:18px}.profile-phone{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:2px 0 0}.profile-edit-btn{flex-shrink:0;width:36px;height:36px;background:none;border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-primary);font-size:var(--font-size-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,border-color .2s ease}.profile-edit-btn:hover{background-color:var(--color-bg-page);border-color:var(--color-primary)}.profile-complete-suggest{display:flex;align-items:center;gap:var(--space-4);width:calc(100% - 2 * var(--space-4));margin:var(--space-3) var(--space-4) 0;padding:var(--space-4);background-color:#df61060f;border:1px solid rgba(223,97,6,.3);border-radius:var(--radius-md);text-align:left;cursor:pointer}.profile-complete-suggest-icon{font-size:var(--font-size-md);color:var(--color-accent);flex-shrink:0}.profile-complete-suggest-body{display:flex;flex-direction:column;gap:var(--space-1);flex:1;min-width:0}.profile-complete-suggest-title{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text)}.profile-complete-suggest-text{font-size:var(--font-size-xs);color:var(--color-text-muted)}.profile-complete-suggest-chevron{font-size:var(--font-size-xs);color:var(--color-text-muted);flex-shrink:0}.account-menu-section{background-color:var(--color-bg-surface);margin:var(--space-3) var(--space-4) 0;border-radius:var(--radius-md);box-shadow:var(--shadow-resting);overflow:hidden}.account-menu-row{display:flex;align-items:center;gap:var(--space-4);width:100%;background:none;border:none;border-bottom:1px solid var(--color-border);padding:var(--space-4);font:inherit;text-align:left;cursor:pointer}.account-menu-row:last-child{border-bottom:none}.account-menu-icon{width:18px;color:var(--color-text-muted);font-size:var(--font-size-md);flex-shrink:0}.account-menu-label{flex:1;font-size:var(--font-size-sm);color:var(--color-text);font-weight:600}.account-menu-chevron{color:var(--color-text-muted);font-size:var(--font-size-xs)}.profile-footer{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6) 0;opacity:.5}.profile-footer-logo{height:24px;width:auto}.profile-footer-version{font-size:var(--font-size-xs);color:var(--color-text-muted)}.orders-page{padding:var(--space-4);padding-bottom:150px}.status-filter-row{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-4);scrollbar-width:none}.status-filter-row::-webkit-scrollbar{display:none}.status-filter-chip{flex-shrink:0;background-color:var(--color-bg-surface);border:1px solid var(--color-border);color:var(--color-text-muted);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;cursor:pointer;white-space:nowrap;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.status-filter-chip.active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.orders-empty{font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center;padding:var(--space-6) 0}.orders-list{display:flex;flex-direction:column;gap:var(--space-3)}.order-item{background-color:var(--color-bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-resting);padding:var(--space-4);cursor:pointer}.order-item-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.order-item-header-info{display:flex;flex-direction:column;gap:2px}.order-item-number{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text)}.order-item-date{font-size:var(--font-size-xs);color:var(--color-text-muted)}.order-status-badge{font-size:var(--font-size-xs);font-weight:700;color:var(--color-primary);background-color:var(--color-bg-page);padding:2px var(--space-2);border-radius:var(--radius-sm);flex-shrink:0}.order-item-summary{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);margin-bottom:var(--space-3)}.order-item-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.order-item-total{font-size:var(--font-size-sm);font-weight:700;color:var(--color-accent)}.order-again-btn{background-color:var(--color-primary);color:#fff;border:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:700;cursor:pointer;flex-shrink:0;transition:background-color .2s ease}.order-again-btn:hover{background-color:var(--color-primary-dark)}.order-again-btn:disabled{background-color:var(--color-border);color:var(--color-text-muted);cursor:not-allowed}.orders-reorder-notice{font-size:var(--font-size-xs);font-weight:600;color:var(--color-danger);margin:0 0 var(--space-4)}.order-pay-btn{display:inline-block;text-align:center;text-decoration:none}.order-detail-page{padding:var(--space-4);padding-bottom:150px}.order-detail-not-found{font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center;padding:var(--space-6) 0}.order-detail-card{background-color:var(--color-bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-resting);padding:var(--space-4)}.order-detail-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.order-detail-header-info{display:flex;flex-direction:column;gap:2px}.order-detail-number{font-size:var(--font-size-md);font-weight:700;color:var(--color-text)}.order-detail-date{font-size:var(--font-size-sm);color:var(--color-text-muted)}.order-status-timeline{display:flex;margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.timeline-step{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;text-align:center}.timeline-step:not(:last-child):after{content:"";position:absolute;top:7px;left:50%;width:100%;height:2px;background-color:var(--color-border);z-index:1}.timeline-step.completed:not(:last-child):after{background-color:var(--color-primary)}.timeline-step-dot{width:16px;height:16px;border-radius:var(--radius-full);background-color:var(--color-bg-surface);border:2px solid var(--color-border);z-index:2}.timeline-step.completed .timeline-step-dot,.timeline-step.active .timeline-step-dot{background-color:var(--color-primary);border-color:var(--color-primary)}.timeline-step-label{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--space-2)}.timeline-step-date{font-size:.6rem;color:var(--color-text-muted);margin-top:2px}.timeline-step.completed .timeline-step-label,.timeline-step.active .timeline-step-label{color:var(--color-text);font-weight:600}.order-detail-items{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-4)}.order-detail-item{display:flex;align-items:center;gap:var(--space-3)}.order-detail-item-image{width:52px;height:52px;flex-shrink:0;border-radius:var(--radius-sm);overflow:hidden;background-color:var(--color-bg-page)}.order-detail-item-image img{width:100%;height:100%;object-fit:cover;display:block}.order-detail-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.order-detail-item-name{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.order-detail-item-qty{font-size:var(--font-size-xs);color:var(--color-text-muted)}.order-detail-item-subtotal{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text);flex-shrink:0}.order-detail-summary-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-sm);color:var(--color-text);margin-bottom:var(--space-2)}.order-detail-total-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-md);font-weight:700;color:var(--color-text);padding-top:var(--space-4);margin-bottom:var(--space-4);border-top:1px solid var(--color-border)}.order-detail-total-value{color:var(--color-accent)}.order-again-btn.full-width{width:100%}.order-detail-reorder-notice{font-size:var(--font-size-xs);font-weight:600;color:var(--color-danger);margin:0 0 var(--space-3);text-align:center}.order-status-badge--cancelled{color:var(--color-danger)}.order-cancelled-banner{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--space-4);padding:var(--space-3);border-radius:var(--radius-sm);background-color:var(--color-bg-page);border:1px solid var(--color-danger)}.order-cancelled-banner__title{font-size:var(--font-size-sm);font-weight:700;color:var(--color-danger)}.order-cancelled-banner__date{font-size:var(--font-size-xs);color:var(--color-text-muted)}.order-cancel-btn{width:100%;margin-top:var(--space-3);padding:var(--space-2) var(--space-4);border:1px solid var(--color-danger);border-radius:var(--radius-full);background:none;color:var(--color-danger);font-size:var(--font-size-xs);font-weight:700;cursor:pointer}.order-cancel-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background-color:#0000008c}.order-cancel-dialog{width:100%;max-width:400px;padding:var(--space-4);border-radius:var(--radius-md);background-color:var(--color-bg-surface)}.order-cancel-dialog__title{margin:0 0 var(--space-2);font-size:var(--font-size-md);color:var(--color-text)}.order-cancel-dialog__text{margin:0 0 var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted)}.order-cancel-dialog__label{display:block;margin-bottom:var(--space-1);font-size:var(--font-size-xs);font-weight:600;color:var(--color-text)}.order-cancel-dialog__reason{box-sizing:border-box;width:100%;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);font:inherit;font-size:var(--font-size-sm);resize:vertical}.order-cancel-dialog__error{margin:var(--space-2) 0 0;font-size:var(--font-size-xs);font-weight:600;color:var(--color-danger)}.order-cancel-dialog__actions{display:flex;gap:var(--space-2);margin-top:var(--space-4)}.order-cancel-dialog__back,.order-cancel-dialog__confirm{flex:1;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:700;cursor:pointer}.order-cancel-dialog__back{border:1px solid var(--color-border);background:none;color:var(--color-text)}.order-cancel-dialog__confirm{border:none;background-color:var(--color-danger);color:#fff}.order-cancel-dialog__back:disabled,.order-cancel-dialog__confirm:disabled{opacity:.6;cursor:not-allowed}.order-pay-btn{display:block;margin-bottom:var(--space-3);text-align:center;text-decoration:none}.order-detail-paid-notice{font-size:var(--font-size-xs);font-weight:600;color:var(--color-primary);margin:0 0 var(--space-3);text-align:center}.order-again-btn.order-pay-btn{background-color:var(--color-success)}.order-again-btn.order-pay-btn:hover{background-color:var(--color-success-dark)}.order-detail-card--enter{animation:order-enter-up .45s cubic-bezier(.2,.8,.2,1) both;animation-delay:.12s}.order-created-banner{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background-color:var(--color-bg-surface);box-shadow:var(--shadow-resting);border-left:4px solid var(--color-success);animation:order-enter-up .4s cubic-bezier(.2,.8,.2,1) both}.order-created-banner__icon{flex-shrink:0;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:var(--color-success);color:#fff;font-size:var(--font-size-md);animation:order-check-pop .5s cubic-bezier(.34,1.56,.64,1) .2s both}.order-created-banner__body{display:flex;flex-direction:column;gap:2px}.order-created-banner__title{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text)}.order-created-banner__text{font-size:var(--font-size-xs);color:var(--color-text-muted)}.order-pay-btn--attention{animation:order-pay-pulse 1.4s ease-out .6s 3}@keyframes order-enter-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes order-check-pop{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}@keyframes order-pay-pulse{0%{box-shadow:0 0 #2e9e5b8c}to{box-shadow:0 0 0 12px #2e9e5b00}}@media (prefers-reduced-motion: reduce){.order-detail-card--enter,.order-created-banner,.order-created-banner__icon,.order-pay-btn--attention{animation:none}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.map-picker{margin-bottom:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);background-color:var(--color-bg-page)}.map-picker-status{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-2)}.map-picker-search{position:relative;margin-bottom:var(--space-2)}.map-picker-search-bar{display:flex;align-items:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-2) var(--space-3);background-color:var(--color-bg-surface);box-shadow:var(--shadow-resting)}.map-picker-search-icon{color:var(--color-text-muted);font-size:var(--font-size-sm)}.map-picker-search-input{border:none;background:transparent;outline:none;width:100%;font:inherit;font-size:var(--font-size-sm)}.map-picker-search-results{position:absolute;top:calc(100% + var(--space-2));left:0;right:0;z-index:10;background-color:var(--color-bg-surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-hover);overflow:hidden;max-height:220px;overflow-y:auto}.map-picker-search-status{padding:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted)}.map-picker-search-result{display:flex;align-items:flex-start;gap:var(--space-2);width:100%;padding:var(--space-3);border:none;border-bottom:1px solid var(--color-border);background:none;font:inherit;font-size:var(--font-size-sm);color:var(--color-text);text-align:left;cursor:pointer}.map-picker-search-result:last-child{border-bottom:none}.map-picker-search-result:hover{background-color:var(--color-bg-page)}.map-picker-search-result i{color:var(--color-accent);margin-top:2px;flex-shrink:0}.map-picker-map-wrapper{position:relative}.map-picker-container{width:100%;height:240px;border-radius:var(--radius-sm);box-shadow:var(--shadow-resting);overflow:hidden;z-index:0}.map-picker-locate-control{position:absolute;bottom:var(--space-3);right:var(--space-3);z-index:1000;display:flex;align-items:center;gap:var(--space-2)}.map-picker-locate-hint{background-color:var(--color-bg-surface);color:var(--color-text);font-size:var(--font-size-xs);font-weight:600;white-space:nowrap;padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);box-shadow:var(--shadow-resting)}.map-picker-locate-btn{flex-shrink:0;width:40px;height:40px;border:none;border-radius:50%;background-color:var(--color-primary);color:#fff;box-shadow:var(--shadow-resting);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-md);cursor:pointer}.map-picker-locate-btn:hover{background-color:var(--color-primary-dark)}.map-picker-locate-btn:disabled{opacity:.7;cursor:default}.map-picker-placeholder{width:100%;height:240px;border-radius:var(--radius-sm);background-color:var(--color-bg-page)}.map-picker-marker-pin{display:block;width:28px;height:28px;background-color:var(--color-accent);border:3px solid #ffffff;border-radius:50% 50% 50% 0;box-shadow:var(--shadow-resting);transform:rotate(-45deg)}.leaflet-control-zoom{border:none!important;border-radius:var(--radius-sm)!important;box-shadow:var(--shadow-resting)!important;overflow:hidden}.leaflet-control-zoom a,.leaflet-control-zoom a:hover{background-color:var(--color-primary)!important;color:#fff!important;border:none!important}.leaflet-control-zoom a:hover{background-color:var(--color-primary-dark)!important}.leaflet-control-attribution{background-color:#ffffffd9!important;font-size:10px!important;color:var(--color-text-muted)!important}.searchable-select{position:relative}.searchable-select-control{display:flex;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-bg-surface)}.searchable-select-control.disabled{background-color:var(--color-bg-page)}.searchable-select-control:focus-within{border-color:var(--color-primary)}.searchable-select-control input{flex:1;width:100%;border:none;background:transparent;outline:none;padding:var(--space-3);font-size:var(--font-size-sm);font-family:inherit;color:var(--color-text);box-sizing:border-box}.searchable-select-control input:disabled{color:var(--color-text-muted);cursor:default}.searchable-select-clear{background:none;border:none;color:var(--color-text-muted);padding:0 var(--space-3);cursor:pointer;font-size:var(--font-size-sm)}.searchable-select-clear:hover{color:var(--color-danger)}.searchable-select-options{position:absolute;top:calc(100% + var(--space-1));left:0;right:0;z-index:20;max-height:240px;overflow-y:auto;background-color:var(--color-bg-surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-hover)}.searchable-select-option{display:block;width:100%;padding:var(--space-3);border:none;border-bottom:1px solid var(--color-border);background:none;font:inherit;font-size:var(--font-size-sm);color:var(--color-text);text-align:left;cursor:pointer}.searchable-select-option:last-child{border-bottom:none}.searchable-select-option:hover,.searchable-select-option.selected{background-color:var(--color-bg-page)}.searchable-select-empty{padding:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted)}.address-page{padding:var(--space-4);padding-bottom:150px}.add-address-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-2);background-color:var(--color-primary);color:#fff;border:none;padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:600;cursor:pointer;margin-bottom:var(--space-4);transition:background-color .2s ease}.add-address-btn:hover{background-color:var(--color-primary-dark)}.address-limit-note{font-size:var(--font-size-xs);color:var(--color-text-muted);background-color:var(--color-bg-page);padding:var(--space-3);border-radius:var(--radius-sm);text-align:center;margin:0 0 var(--space-4)}.address-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center;padding:var(--space-6) 0}.address-empty i{font-size:28px;color:var(--color-border)}.address-empty p{margin:0}.address-list{display:flex;flex-direction:column;gap:var(--space-3)}.address-item{background-color:var(--color-bg-surface);border:1px solid transparent;border-radius:var(--radius-md);box-shadow:var(--shadow-resting);padding:var(--space-4)}.address-item.is-primary{border-color:var(--color-accent)}.address-item-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.address-item-marker{flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:var(--color-bg-page);color:var(--color-text-muted);font-size:11px}.address-item.is-primary .address-item-marker{background-color:var(--color-accent);color:#fff}.address-label{flex:1;min-width:0;font-size:var(--font-size-sm);font-weight:700;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.address-primary-badge{flex-shrink:0;font-size:var(--font-size-xs);font-weight:700;color:var(--color-accent);background-color:#df61061a;padding:2px var(--space-2);border-radius:var(--radius-sm)}.address-recipient{font-size:var(--font-size-sm);color:var(--color-text);margin:0 0 var(--space-1)}.address-full{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0 0 var(--space-1);line-height:1.4}.address-location{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0 0 var(--space-1)}.address-landmark,.address-distance{display:flex;align-items:baseline;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-muted)}.address-landmark{margin:0 0 var(--space-1)}.address-distance{margin:0 0 var(--space-3)}.address-landmark i,.address-distance i{font-size:10px}.address-item-actions{display:flex;gap:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.address-action-link{display:flex;align-items:center;gap:5px;background:none;border:none;padding:0;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:600;cursor:pointer}.address-action-link i{font-size:11px}.address-action-link:hover{color:var(--color-primary-dark)}.address-delete-link{color:var(--color-danger);margin-left:auto}.address-delete-link:hover{color:var(--color-primary)}.address-form{background-color:var(--color-bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-resting);padding:var(--space-5)}.address-form .form-group{margin-bottom:var(--space-4)}.address-form-section-title{font-size:var(--font-size-md);font-weight:700;color:var(--color-text);margin:0 0 var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.address-form-section-title:first-child{margin-top:0;padding-top:0;border-top:none}.address-map-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0 0 var(--space-2)}.address-form label{display:block;font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--space-2);color:var(--color-text-muted)}.address-form input,.address-form textarea{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:inherit;box-sizing:border-box;resize:vertical;background-color:var(--color-bg-surface);color:var(--color-text)}.address-form input:focus,.address-form textarea:focus{outline:none;border-color:var(--color-primary)}.address-form-actions{display:flex;gap:var(--space-3)}.address-cancel-btn{flex:1;background-color:var(--color-bg-page);color:var(--color-text);border:none;padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:600;cursor:pointer}.address-cancel-btn:hover{background-color:var(--color-border)}.address-save-btn{flex:1;background-color:var(--color-primary);color:#fff;border:none;padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:600;cursor:pointer;transition:background-color .2s ease}.address-save-btn:hover{background-color:var(--color-primary-dark)}.address-error{color:var(--color-danger);font-size:var(--font-size-sm);margin-bottom:var(--space-3)}.edit-profile-page{padding:var(--space-4);padding-bottom:150px}.edit-profile-form{background-color:var(--color-bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-resting);padding:var(--space-5)}.edit-profile-form .form-group{margin-bottom:var(--space-4)}.edit-profile-form label{display:block;font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--space-2);color:var(--color-text-muted)}.edit-profile-form input,.edit-profile-form select{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:inherit;box-sizing:border-box;background-color:var(--color-bg-surface)}.edit-profile-form input:focus,.edit-profile-form select:focus{outline:none;border-color:var(--color-primary)}.edit-profile-form input:disabled{background-color:var(--color-bg-page);color:var(--color-text-muted);cursor:not-allowed}.form-note{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:var(--space-1) 0 0}.edit-profile-actions{display:flex;gap:var(--space-3);margin-top:var(--space-5)}.edit-profile-cancel-btn{flex:1;background-color:var(--color-bg-page);color:var(--color-text);border:none;padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:600;cursor:pointer}.edit-profile-cancel-btn:hover{background-color:var(--color-border)}.edit-profile-save-btn{flex:1;background-color:var(--color-primary);color:#fff;border:none;padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:600;cursor:pointer;transition:background-color .2s ease}.edit-profile-save-btn:hover{background-color:var(--color-primary-dark)}.edit-profile-error{color:var(--color-danger);font-size:var(--font-size-sm);margin-bottom:var(--space-3)}.field-error{color:var(--color-danger);font-size:var(--font-size-xs);margin:0 0 var(--space-2)}.edit-profile-steps{display:flex;align-items:flex-start;margin-bottom:var(--space-5)}.edit-profile-step{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);flex:0 0 auto}.edit-profile-step-dot{width:26px;height:26px;flex:0 0 auto;border-radius:var(--radius-full);background-color:var(--color-bg-page);border:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:700;display:flex;align-items:center;justify-content:center}.edit-profile-step-label{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:500;white-space:nowrap}.edit-profile-step.is-active .edit-profile-step-dot{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 0 0 3px #13175f26}.edit-profile-step.is-active .edit-profile-step-label{color:var(--color-primary);font-weight:700}.edit-profile-step.is-complete .edit-profile-step-dot{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.edit-profile-step-line{flex:1 1 auto;height:1px;background-color:var(--color-border);margin:13px var(--space-1) 0}.edit-profile-step-line.is-complete{background-color:var(--color-primary)}.edit-profile-step-heading{margin-bottom:var(--space-4)}.edit-profile-step-heading h2{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text);margin:0 0 var(--space-1)}.edit-profile-step-heading p{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.account-type-toggle,.tax-invoice-toggle{display:flex;gap:var(--space-2)}.account-type-btn,.tax-invoice-btn{flex:1;background-color:var(--color-bg-page);color:var(--color-text);border:1px solid var(--color-border);padding:var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600;cursor:pointer}.account-type-btn.active,.tax-invoice-btn.active{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.holiday-options{display:flex;flex-wrap:wrap;gap:var(--space-3)}.holiday-option{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);font-weight:400;color:var(--color-text);cursor:pointer}.holiday-option input{width:auto}.holiday-other-input{margin-top:var(--space-2)}.photo-preview{display:block;width:120px;height:120px;object-fit:cover;border-radius:var(--radius-sm);margin-top:var(--space-2);border:1px solid var(--color-border);cursor:pointer}.photo-lightbox-overlay{position:fixed;inset:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:2000;padding:var(--space-4);box-sizing:border-box}.photo-lightbox-image{max-width:100%;max-height:100%;border-radius:var(--radius-sm);box-shadow:var(--shadow-hover);cursor:default}.photo-lightbox-close-btn{position:absolute;top:var(--space-4);right:var(--space-4);width:40px;height:40px;border-radius:50%;border:none;background-color:#ffffffe6;color:var(--color-text);font-size:var(--font-size-md);display:flex;align-items:center;justify-content:center;cursor:pointer}.photo-lightbox-close-btn:hover{background-color:#fff}.required-asterisk{color:var(--color-danger);margin-left:2px}.saving-progress-bar{position:fixed;top:0;left:0;width:100%;height:3px;overflow:hidden;background-color:var(--color-border);z-index:2100}.saving-progress-bar-inner{position:absolute;top:0;left:0;height:100%;width:40%;background-color:var(--color-primary);animation:indeterminate-sweep 1.2s ease-in-out infinite}@keyframes indeterminate-sweep{0%{left:-40%}to{left:100%}}.saving-progress-caption{text-align:center}.operating-hours-list{display:flex;flex-direction:column;gap:var(--space-3)}.operating-hours-row{padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.operating-hours-row:last-child{border-bottom:none}.operating-hours-day-toggle{display:flex;align-items:center;gap:var(--space-2)}.operating-hours-day-label{flex:1;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.operating-hours-btn{background-color:var(--color-bg-page);color:var(--color-text);border:1px solid var(--color-border);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;cursor:pointer}.operating-hours-btn.active{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.operating-hours-times{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.operating-hours-times input{width:auto;flex:1}.operating-hours-apply-all{background:none;border:none;padding:0;margin-top:var(--space-2);color:var(--color-primary);font-size:var(--font-size-xs);font-weight:600;cursor:pointer}.help-page{padding:var(--space-4);padding-bottom:150px}.help-title{font-size:var(--font-size-md);font-weight:700;color:var(--color-text);margin:0 0 var(--space-4)}.faq-list{background-color:var(--color-bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-resting);overflow:hidden}.faq-item{border-bottom:1px solid var(--color-border)}.faq-item:last-child{border-bottom:none}.faq-question{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;background:none;border:none;padding:var(--space-4);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);text-align:left;cursor:pointer;font-family:inherit}.faq-chevron{flex-shrink:0;color:var(--color-text-muted);font-size:var(--font-size-xs)}.faq-answer{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.5;margin:0;padding:0 var(--space-4) var(--space-4)}.help-contact-section{text-align:center;margin-top:var(--space-6)}.help-contact-text{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0 0 var(--space-3)}.help-contact-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);background-color:var(--color-success);color:#fff;text-decoration:none;padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);font-size:var(--font-size-md);font-weight:700;transition:background-color .2s ease}.help-contact-btn:hover{background-color:var(--color-success-dark)}.help-social-section{text-align:center;margin-top:var(--space-6)}.help-social-links{display:flex;align-items:center;justify-content:center;gap:var(--space-3)}.help-social-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-full);background-color:var(--color-bg-surface);color:var(--color-primary);box-shadow:var(--shadow-resting);font-size:1.2rem;text-decoration:none;transition:background-color .2s ease,color .2s ease}.help-social-btn:hover{background-color:var(--color-primary);color:#fff}.product-card-link{text-decoration:none;color:inherit;display:block;cursor:pointer}.product-card-container{background-color:var(--color-bg-surface);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-resting);transition:box-shadow .3s ease;position:relative}.product-card-container:hover{box-shadow:var(--shadow-hover)}.product-card-header{position:relative;width:100%;padding-top:100%;background-color:var(--color-bg-page);overflow:hidden}.product-card-header:hover .image-nav-btn{opacity:1}.card-weight-label{position:absolute;top:5px;right:5px;z-index:20;background-color:var(--color-primary);color:#fff;padding:4px 10px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;box-shadow:var(--shadow-resting)}.card-product-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.image-nav-btn{position:absolute;top:50%;transform:translateY(-50%);background-color:#0000004d;color:#fff;border:none;border-radius:var(--radius-full);width:35px;height:35px;display:flex;justify-content:center;align-items:center;cursor:pointer;z-index:30;opacity:0;transition:opacity .3s ease,background-color .2s ease}.image-nav-btn:hover{background-color:#00000080}.image-nav-btn.prev{left:10px}.image-nav-btn.next{right:10px}.label-promo{position:absolute;bottom:0;left:0;width:35%;height:20px;background-color:var(--color-primary);z-index:10;font-size:var(--font-size-xs);color:#fff;display:flex;align-items:center;justify-content:flex-start;padding-left:var(--space-1);clip-path:polygon(0 0,80% 0,100% 100%,0% 100%);-webkit-clip-path:polygon(0 0,80% 0,100% 100%,0% 100%)}.icon-promo{margin-right:var(--space-1)}.label-out-of-stock{position:absolute;bottom:0;left:0;width:45%;height:20px;background-color:var(--color-text-muted);z-index:10;font-size:var(--font-size-xs);color:#fff;display:flex;align-items:center;justify-content:flex-start;padding-left:var(--space-1);clip-path:polygon(0 0,80% 0,100% 100%,0% 100%);-webkit-clip-path:polygon(0 0,80% 0,100% 100%,0% 100%)}.product-card-body{padding:var(--space-4);text-align:left}.product-card-name{font-size:var(--font-size-sm);font-weight:700;margin:0 0 var(--space-1);color:var(--color-text)}.product-card-brand{font-size:var(--font-size-sm);color:#595959;margin:0 0 2px}.product-card-price-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-2)}.product-card-price-group{min-width:0}.product-card-price{font-size:var(--font-size-md);font-weight:900;color:var(--color-accent);margin:0}.product-card-price.ask-admin{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-muted)}.product-card-original-price{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:2px 0 0}.product-card-ask-admin-btn{width:32px;height:32px;padding:0;border:none;border-radius:var(--radius-full);background-color:#25d366;color:#fff;font-size:1rem;line-height:1;cursor:pointer;box-shadow:var(--shadow-resting);transition:background-color .2s ease}.product-card-ask-admin-btn:hover{background-color:#1ebc59}.product-card-out-of-stock-btn{height:32px;padding:0 var(--space-3);border:none;border-radius:var(--radius-full);background-color:var(--color-bg-page);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:600;cursor:not-allowed}.product-card-cta{flex-shrink:0}.product-card-cta .qty-stepper-add{width:32px;height:32px;padding:0;border-radius:var(--radius-full);background-color:var(--color-primary);font-size:1rem;line-height:1;box-shadow:var(--shadow-resting)}.product-card-cta .qty-stepper-add:hover{background-color:var(--color-primary-dark)}.product-card-cta .qty-stepper{width:auto;background-color:var(--color-bg-surface);border:1.5px solid var(--color-primary);border-radius:var(--radius-full);padding:2px;gap:2px;box-shadow:var(--shadow-resting)}.product-card-cta .qty-stepper-btn{width:22px;height:22px;background-color:transparent;color:var(--color-primary);font-size:var(--font-size-sm)}.product-card-cta .qty-stepper-btn:hover{background-color:var(--color-bg-page);color:var(--color-primary-dark)}.product-card-cta .qty-stepper-value{min-width:16px;font-size:var(--font-size-xs);color:var(--color-primary)}.qty-stepper-add{display:block;width:100%;border:none;border-radius:var(--radius-full);background-color:var(--color-primary);color:#fff;font-size:var(--font-size-md);font-weight:700;padding:var(--space-4);cursor:pointer;transition:background-color .2s ease}.qty-stepper-add:hover{background-color:var(--color-primary-dark)}.qty-stepper{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);background-color:var(--color-bg-page);border-radius:var(--radius-full);padding:var(--space-1);width:100%}.qty-stepper-btn{width:28px;height:28px;flex-shrink:0;border:none;border-radius:var(--radius-full);background-color:var(--color-primary);color:#fff;font-size:var(--font-size-sm);font-weight:700;line-height:1;cursor:pointer;transition:background-color .2s ease,opacity .2s ease}.qty-stepper-btn:hover{background-color:var(--color-primary-dark)}.qty-stepper-btn:disabled{opacity:.4;cursor:not-allowed}.qty-stepper-btn-delete{background-color:var(--color-danger);font-size:var(--font-size-xs)}.qty-stepper-btn-delete:hover{background-color:var(--color-primary)}.qty-stepper-value{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text);min-width:20px;text-align:center}.qty-stepper-value-editable{cursor:pointer;border-bottom:1px dashed var(--color-text-muted)}.qty-stepper-input{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text);width:40px;min-width:0;text-align:center;border:none;border-bottom:1px solid var(--color-primary);background:transparent;outline:none;padding:0;-moz-appearance:textfield}.qty-stepper-input::-webkit-outer-spin-button,.qty-stepper-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-6) var(--space-4)}.empty-state-icon{width:88px;height:88px;border-radius:var(--radius-full);background:linear-gradient(155deg,var(--color-bg-page) 0%,var(--color-border) 100%);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-5)}.empty-state-icon i{font-size:2.1rem;color:var(--color-primary);opacity:.8}.empty-state-title{font-size:var(--font-size-md);font-weight:700;color:var(--color-text);margin:0 0 var(--space-2)}.empty-state-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0;max-width:280px}.empty-state-action{margin-top:var(--space-5);width:100%;max-width:220px}.search-page{min-height:100vh}.search-page-topbar{position:sticky;top:0;z-index:1000;display:flex;align-items:center;gap:var(--space-2);background-color:var(--color-bg-surface);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-resting)}.search-back-btn{background:none;border:none;cursor:pointer;color:var(--color-primary);font-size:1.1rem;padding:var(--space-1);display:flex;align-items:center;flex-shrink:0}.search-back-btn:hover{color:var(--color-primary-dark)}.search-input-wrapper{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-2) var(--space-3);background-color:var(--color-bg-page)}.search-input-icon{color:var(--color-text-muted);font-size:var(--font-size-sm);flex-shrink:0}.search-page-input{border:none;background:transparent;outline:none;width:100%;font-size:var(--font-size-md);color:var(--color-text)}.search-clear-btn{background:none;border:none;cursor:pointer;color:var(--color-text-muted);flex-shrink:0;display:flex;align-items:center;padding:0}.search-page-body{padding:var(--space-4)}.search-placeholder-text{text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:var(--space-6)}.search-results-grid{display:grid;grid-template-columns:repeat(var(--product-grid-columns),1fr);gap:var(--space-3)}@keyframes productModalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes productModalSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.product-modal-overlay{position:fixed;inset:0;background-color:#0000008c;z-index:2000;display:flex;justify-content:center;align-items:flex-end;animation:productModalFadeIn .2s ease}.product-modal-sheet{width:100%;max-width:var(--container-max-width);height:85vh;height:85dvh;background-color:var(--color-bg-surface);border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md);display:flex;flex-direction:column;overflow:hidden;position:relative;animation:productModalSlideUp .25s ease-out}.product-modal-status-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-5);text-align:center;position:relative}.product-modal-scroll{flex:1;overflow-y:auto}.product-modal-image-wrapper{position:relative;width:100%;aspect-ratio:1 / 1;background-color:var(--color-bg-page)}.product-modal-main-image{width:100%;height:100%;object-fit:cover;display:block}.product-modal-close-btn{position:absolute;top:var(--space-4);left:var(--space-4);width:36px;height:36px;border-radius:var(--radius-full);border:none;background-color:#00000073;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1}.product-modal-share-btn{position:absolute;top:var(--space-5);right:var(--space-4);width:36px;height:36px;border-radius:var(--radius-full);background-color:#25d366;color:#fff;font-size:1.15rem;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 2px 6px #00000040;z-index:1;transition:background-color .2s ease}.product-modal-share-btn:hover{background-color:#1ebc59}.product-modal-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:var(--radius-full);border:none;background-color:#00000059;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.product-modal-nav-btn.prev{left:var(--space-3)}.product-modal-nav-btn.next{right:var(--space-3)}.product-modal-image-counter{position:absolute;bottom:var(--space-3);right:var(--space-3);background-color:#0000008c;color:#fff;font-size:var(--font-size-xs);font-weight:600;padding:2px var(--space-3);border-radius:var(--radius-full)}.product-modal-info{position:relative;padding:var(--space-5) var(--space-4) var(--space-6)}.product-modal-info .product-badge-row,.product-modal-info .product-price-group{padding-right:48px}.product-description{white-space:pre-line}.product-tabs{display:flex;gap:var(--space-4);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-4);overflow-x:auto;scrollbar-width:none}.product-tabs::-webkit-scrollbar{display:none}.product-tab{flex-shrink:0;background:none;border:none;padding:0 0 var(--space-3);margin-bottom:-1px;font-family:inherit;font-size:var(--font-size-md);font-weight:600;color:var(--color-text-muted);white-space:nowrap;cursor:pointer;position:relative;transition:color .2s ease}.product-tab:hover,.product-tab.active{color:var(--color-text)}.product-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:var(--radius-full);background-color:var(--color-primary)}.section-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.product-title{font-size:clamp(1rem,3vw,1.25rem);font-weight:700;color:var(--color-text);margin:0 0 var(--space-2)}.copy-inline-btn{background:none;border:none;padding:0;color:var(--color-text-muted);font-size:var(--font-size-xs);cursor:pointer}.copy-inline-btn:hover{color:var(--color-primary)}.product-badge-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.product-tag{background-color:var(--color-primary);color:#fff;padding:4px 10px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);box-shadow:var(--shadow-resting);display:inline-block;width:fit-content}.product-brand-label{display:block;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-muted)}.product-price-group{margin-bottom:var(--space-2)}.product-price-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.product-price{font-size:clamp(1.15rem,3.5vw,1.8rem);font-weight:700;color:var(--color-accent);white-space:nowrap}.product-price-ask-admin{color:var(--color-text-muted);font-size:clamp(1rem,3vw,1.3rem)}.product-original-price{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:2px 0 0}.product-discount-badge{display:inline-block;font-size:var(--font-size-xs);font-weight:900;color:#fff;background-color:var(--color-danger);padding:2px var(--space-2);border-radius:var(--radius-sm);white-space:nowrap}.product-options-section{padding-top:var(--space-5);margin-top:var(--space-4);border-top:1px solid var(--color-border)}.option-group{margin-bottom:var(--space-5)}.option-label{display:block;font-weight:600;margin-bottom:var(--space-3)}.option-buttons{display:flex;flex-wrap:wrap;gap:var(--space-2)}.option-btn{background-color:var(--color-bg-page);border:1px solid var(--color-border);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--font-size-md);cursor:pointer;transition:all .2s ease}.option-btn:hover{background-color:var(--color-border)}.option-btn.active{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.option-btn.disabled{background-color:var(--color-bg-page);color:var(--color-text-muted);border-color:var(--color-border);text-decoration:line-through;cursor:not-allowed;opacity:.6}.option-btn.disabled:hover{background-color:var(--color-bg-page)}.product-details-box{margin-top:var(--space-6)}.product-info-list p{margin-bottom:var(--space-2);line-height:1.4}.product-info-list span{font-weight:600;margin-right:var(--space-2)}.product-modal-action-bar{flex-shrink:0;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));background-color:var(--color-bg-surface);box-shadow:var(--shadow-hover)}.product-modal-action-bar .qty-stepper,.product-modal-action-bar .qty-stepper-add{flex:1}.product-modal-ask-admin-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);border:none;border-radius:var(--radius-full);background-color:#25d366;color:#fff;font-size:var(--font-size-md);font-weight:700;padding:var(--space-4);text-decoration:none;cursor:pointer;transition:background-color .2s ease}.product-modal-ask-admin-btn:hover{background-color:#1ebc59}.product-modal-out-of-stock-btn{flex:1;border:none;border-radius:var(--radius-full);background-color:var(--color-bg-page);color:var(--color-text-muted);font-size:var(--font-size-md);font-weight:700;padding:var(--space-4);cursor:not-allowed}.product-modal-cart-btn{position:relative;flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-surface);color:var(--color-primary);font-size:1.2rem;cursor:pointer;transition:border-color .2s ease,background-color .2s ease}.product-modal-cart-btn:hover{border-color:var(--color-primary);background-color:var(--color-bg-page)}.product-modal-cart-count{position:absolute;top:-6px;right:-6px;background-color:var(--color-danger);color:#fff;border-radius:var(--radius-full);padding:1px 5px;font-size:var(--font-size-xs);font-weight:700;line-height:1.4}.product-tiering-ladder{padding-top:var(--space-4);margin-bottom:var(--space-4);border-top:1px solid var(--color-border)}.product-tiering-ladder-heading{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--space-3)}.product-tiering-ladder-title{font-size:var(--font-size-md);font-weight:600;color:var(--color-text)}.product-tiering-ladder-subtitle{font-size:var(--font-size-xs);color:var(--color-text-muted)}.product-tiering-ladder-track{display:flex;flex-direction:row;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding:2px 0 var(--space-2)}.product-tiering-ladder-track::-webkit-scrollbar{display:none}.product-tiering-ladder-tile{scroll-snap-align:start;flex:0 0 auto;width:132px;display:flex;flex-direction:column;gap:var(--space-2)}.product-tiering-ladder-tile-marker{flex:0 0 auto;height:10px;display:flex;flex-direction:row;align-items:center}.product-tiering-ladder-tile-dot{flex:0 0 auto;width:10px;height:10px;border-radius:50%;background-color:var(--color-border)}.product-tiering-ladder-tile-line{flex:1 1 auto;height:1px;margin:0 2px;background-color:var(--color-border)}.product-tiering-ladder-tile-content{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px}.product-tiering-ladder-tile-range{font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-muted)}.product-tiering-ladder-tile-price{display:flex;flex-direction:column;align-items:flex-start;font-size:var(--font-size-md);font-weight:700;color:var(--color-text);font-variant-numeric:tabular-nums}.product-tiering-ladder-tile-per-pcs{font-size:var(--font-size-xs);font-weight:400;color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.product-tiering-ladder-tile-current-badge{font-size:var(--font-size-xs);font-weight:600;color:#fff;background-color:var(--color-accent);padding:1px var(--space-2);border-radius:var(--radius-full);white-space:nowrap}.product-tiering-ladder-tile.is-active .product-tiering-ladder-tile-dot{background-color:var(--color-accent);box-shadow:0 0 0 3px #df610626}.product-tiering-ladder-tile.is-active .product-tiering-ladder-tile-range,.product-tiering-ladder-tile.is-active .product-tiering-ladder-tile-price{color:var(--color-accent)}.product-suggestions{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.product-suggestions-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);margin-bottom:var(--space-4)}.product-suggestions-row{display:grid;grid-auto-flow:column;grid-auto-columns:42%;gap:var(--space-3);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 2px var(--space-2)}.product-suggestions-row::-webkit-scrollbar{display:none}.product-suggestion-card{scroll-snap-align:start;display:flex;flex-direction:column;padding:0;border:none;background-color:var(--color-bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-resting);overflow:hidden;font-family:inherit;text-align:left;cursor:pointer;transition:box-shadow .3s ease}.product-suggestion-card:hover{box-shadow:var(--shadow-hover)}.product-suggestion-image-wrapper{position:relative;display:block;width:100%;aspect-ratio:1 / 1;background-color:var(--color-bg-page)}.product-suggestion-image{width:100%;height:100%;object-fit:cover;display:block}.product-suggestion-category{position:absolute;top:var(--space-2);left:var(--space-2);background-color:var(--color-primary);color:#fff;font-size:var(--font-size-xs);font-weight:600;padding:2px var(--space-2);border-radius:var(--radius-full)}.product-suggestion-body{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) var(--space-3) var(--space-3)}.product-suggestion-name{font-size:var(--font-size-sm);color:var(--color-text);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em}.product-suggestion-price{font-size:var(--font-size-md);font-weight:700;color:var(--color-accent)}@media (min-width: 600px){.product-suggestions-row{grid-auto-columns:calc((100% - 3 * var(--space-3)) / 4)}}.carousel .control-arrow,.carousel.carousel-slider .control-arrow{-webkit-transition:all .25s ease-in;-moz-transition:all .25s ease-in;-ms-transition:all .25s ease-in;-o-transition:all .25s ease-in;transition:all .25s ease-in;opacity:.4;filter:alpha(opacity=40);position:absolute;z-index:2;top:20px;background:none;border:0;font-size:32px;cursor:pointer}.carousel .control-arrow:focus,.carousel .control-arrow:hover{opacity:1;filter:alpha(opacity=100)}.carousel .control-arrow:before,.carousel.carousel-slider .control-arrow:before{margin:0 5px;display:inline-block;border-top:8px solid transparent;border-bottom:8px solid transparent;content:""}.carousel .control-disabled.control-arrow{opacity:0;filter:alpha(opacity=0);cursor:inherit;display:none}.carousel .control-prev.control-arrow{left:0}.carousel .control-prev.control-arrow:before{border-right:8px solid #fff}.carousel .control-next.control-arrow{right:0}.carousel .control-next.control-arrow:before{border-left:8px solid #fff}.carousel-root{outline:none}.carousel{position:relative;width:100%}.carousel *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.carousel img{width:100%;display:inline-block;pointer-events:none}.carousel .carousel{position:relative}.carousel .control-arrow{outline:0;border:0;background:none;top:50%;margin-top:-13px;font-size:18px}.carousel .thumbs-wrapper{margin:20px;overflow:hidden}.carousel .thumbs{-webkit-transition:all .15s ease-in;-moz-transition:all .15s ease-in;-ms-transition:all .15s ease-in;-o-transition:all .15s ease-in;transition:all .15s ease-in;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translateZ(0);position:relative;list-style:none;white-space:nowrap}.carousel .thumb{-webkit-transition:border .15s ease-in;-moz-transition:border .15s ease-in;-ms-transition:border .15s ease-in;-o-transition:border .15s ease-in;transition:border .15s ease-in;display:inline-block;margin-right:6px;white-space:nowrap;overflow:hidden;border:3px solid #fff;padding:2px}.carousel .thumb:focus{border:3px solid #ccc;outline:none}.carousel .thumb.selected,.carousel .thumb:hover{border:3px solid #333}.carousel .thumb img{vertical-align:top}.carousel.carousel-slider{position:relative;margin:0;overflow:hidden}.carousel.carousel-slider .control-arrow{top:0;color:#fff;font-size:26px;bottom:0;margin-top:0;padding:5px}.carousel.carousel-slider .control-arrow:hover{background:#0003}.carousel .slider-wrapper{overflow:hidden;margin:auto;width:100%;-webkit-transition:height .15s ease-in;-moz-transition:height .15s ease-in;-ms-transition:height .15s ease-in;-o-transition:height .15s ease-in;transition:height .15s ease-in}.carousel .slider-wrapper.axis-horizontal .slider{-ms-box-orient:horizontal;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex}.carousel .slider-wrapper.axis-horizontal .slider .slide{flex-direction:column;flex-flow:column}.carousel .slider-wrapper.axis-vertical{-ms-box-orient:horizontal;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex}.carousel .slider-wrapper.axis-vertical .slider{-webkit-flex-direction:column;flex-direction:column}.carousel .slider{margin:0;padding:0;position:relative;list-style:none;width:100%}.carousel .slider.animated{-webkit-transition:all .35s ease-in-out;-moz-transition:all .35s ease-in-out;-ms-transition:all .35s ease-in-out;-o-transition:all .35s ease-in-out;transition:all .35s ease-in-out}.carousel .slide{min-width:100%;margin:0;position:relative;text-align:center}.carousel .slide img{width:100%;vertical-align:top;border:0}.carousel .slide iframe{display:inline-block;width:calc(100% - 80px);margin:0 40px 40px;border:0}.carousel .slide .legend{-webkit-transition:all .5s ease-in-out;-moz-transition:all .5s ease-in-out;-ms-transition:all .5s ease-in-out;-o-transition:all .5s ease-in-out;transition:all .5s ease-in-out;position:absolute;bottom:40px;left:50%;margin-left:-45%;width:90%;border-radius:10px;background:#000;color:#fff;padding:10px;font-size:12px;text-align:center;opacity:.25;-webkit-transition:opacity .35s ease-in-out;-moz-transition:opacity .35s ease-in-out;-ms-transition:opacity .35s ease-in-out;-o-transition:opacity .35s ease-in-out;transition:opacity .35s ease-in-out}.carousel .control-dots{position:absolute;bottom:0;margin:10px 0;padding:0;text-align:center;width:100%;z-index:1}@media (min-width: 960px){.carousel .control-dots{bottom:0}}.carousel .control-dots .dot{-webkit-transition:opacity .25s ease-in;-moz-transition:opacity .25s ease-in;-ms-transition:opacity .25s ease-in;-o-transition:opacity .25s ease-in;transition:opacity .25s ease-in;opacity:.3;filter:alpha(opacity=30);box-shadow:1px 1px 2px #000000e6;background:#fff;border-radius:50%;width:8px;height:8px;cursor:pointer;display:inline-block;margin:0 8px}.carousel .control-dots .dot.selected,.carousel .control-dots .dot:hover{opacity:1;filter:alpha(opacity=100)}.carousel .carousel-status{position:absolute;top:0;right:0;padding:5px;font-size:10px;text-shadow:1px 1px 1px rgba(0,0,0,.9);color:#fff}.carousel:hover .slide .legend{opacity:1}.cover-container{margin:0}.carousel .slide img{width:100%;height:auto;aspect-ratio:430 / 220;object-fit:cover;object-position:top}.carousel .control-arrow{top:50%!important;transform:translateY(-50%)!important;background:#0006!important;width:36px!important;height:36px!important;border-radius:var(--radius-full);opacity:.8!important}.carousel .control-arrow:before{border-width:0 4px 4px 0!important;border-color:#fff!important;transform:rotate(-45deg);margin-left:20px}.carousel .control-dots .dot{box-shadow:none!important;background:var(--color-bg-surface)!important;opacity:.6!important}.carousel .control-dots .dot.selected{background:var(--color-accent)!important;opacity:1!important}.category-chip-row{display:flex;gap:var(--space-4);padding:var(--space-2) var(--space-3) var(--space-4);overflow-x:auto;scrollbar-width:none}.category-chip-row::-webkit-scrollbar{display:none}.category-chip{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);flex-shrink:0;width:58px;background:none;border:none;cursor:pointer;padding:0}.category-chip-image-wrapper{width:52px;height:52px;border-radius:var(--radius-full);overflow:hidden;box-shadow:var(--shadow-resting);transition:box-shadow .2s ease,transform .2s ease}.category-chip:hover .category-chip-image-wrapper{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.category-chip-image{width:100%;height:100%;object-fit:cover;display:block}.category-chip-name{color:var(--color-text);font-size:var(--font-size-xs);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.category-page-wrapper{margin:0 auto;padding:var(--space-5) var(--space-3)}.main-content-area{display:flex;flex-direction:column;gap:var(--space-4)}.filter-sidebar{flex-shrink:0;height:fit-content;border:none;border-radius:var(--radius-md);background:var(--color-bg-surface);box-shadow:var(--shadow-resting);width:100%;position:relative;top:auto;max-width:none;padding:var(--space-4);overflow:hidden;z-index:1010}@media (min-width: 768px){.main-content-area{flex-direction:row;align-items:flex-start}.filter-sidebar{width:260px}.product-list-content{min-width:0}}.sidebar-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:700;color:var(--color-text);margin:0 0 var(--space-4) 0;padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.sidebar-title i{color:var(--color-primary)}.sidebar-body{display:flex;align-items:flex-start;gap:var(--space-3)}.filter-menu-sidebar{width:34%;flex-shrink:0;display:flex;flex-direction:column;gap:var(--space-1)}.filter-category{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text-muted);cursor:pointer;transition:background-color .2s ease,color .2s ease}.filter-category i{width:14px;text-align:center;font-size:var(--font-size-xs)}.filter-category:hover{background-color:var(--color-bg-page)}.filter-category.active{background-color:var(--color-primary);color:#fff;font-weight:600}.filter-options-content{flex-grow:1;min-height:160px;max-height:260px;padding:var(--space-3) 0 var(--space-3) var(--space-4);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3);border-left:1px solid var(--color-border)}.filter-subtitle{font-size:var(--font-size-sm);font-weight:700;margin-top:0;margin-bottom:var(--space-1);color:var(--color-text)}.radio-option{display:flex;align-items:center;cursor:pointer;position:relative;font-size:var(--font-size-sm);color:var(--color-text);padding:var(--space-2);border-radius:var(--radius-sm);transition:background-color .2s ease}.radio-option:hover,.checkbox-option:hover{background-color:var(--color-bg-page)}.placeholder-text{font-size:var(--font-size-sm);color:var(--color-text-muted);padding:var(--space-4) var(--space-3);border:1px dashed var(--color-border);border-radius:var(--radius-sm);text-align:center}.sidebar-footer{padding-top:var(--space-4);margin-top:var(--space-4);border-top:1px solid var(--color-border)}.reset-btn{width:100%;padding:var(--space-3);border-radius:var(--radius-md);font-weight:600;cursor:pointer;font-size:var(--font-size-sm);background-color:var(--color-primary);color:#fff;border:none;transition:background-color .2s ease,transform .1s ease}.reset-btn:hover{background-color:var(--color-primary-dark);transform:translateY(-1px)}.product-list-content{flex-grow:1;width:100%}.products-grid-category{display:grid;width:100%;padding:var(--space-3);grid-template-columns:repeat(var(--product-grid-columns),1fr)!important;gap:var(--space-3)}.radio-option input[type=radio]{appearance:none;position:absolute;opacity:0}.radio-custom{width:18px;height:18px;border-radius:var(--radius-full);border:2px solid var(--color-border);display:inline-block;margin-right:var(--space-3);position:relative;flex-shrink:0;transition:border-color .2s}.radio-option input:checked+.radio-custom{border-color:var(--color-primary)}.radio-option input:checked+.radio-custom:after{content:"";position:absolute;width:8px;height:8px;background-color:var(--color-primary);border-radius:var(--radius-full);top:50%;left:50%;transform:translate(-50%,-50%)}.checkbox-filter-group{display:flex;flex-direction:column;gap:var(--space-3)}.checkbox-option{display:flex;align-items:center;cursor:pointer;position:relative;font-size:var(--font-size-sm);color:var(--color-text);padding:var(--space-2);border-radius:var(--radius-sm);transition:background-color .2s ease}.checkbox-option input[type=checkbox]{appearance:none;position:absolute;opacity:0}.checkbox-option-select-all{font-weight:700;padding-bottom:var(--space-3);margin-bottom:var(--space-1);border-bottom:1px solid var(--color-border)}.checkbox-custom{width:18px;height:18px;border-radius:var(--radius-sm);border:2px solid var(--color-border);display:inline-block;margin-right:var(--space-3);position:relative;flex-shrink:0;transition:border-color .2s,background-color .2s}.checkbox-option input:checked+.checkbox-custom{background-color:var(--color-primary);border-color:var(--color-primary)}.checkbox-option input:checked+.checkbox-custom:after{content:"";position:absolute;width:8px;height:5px;border-left:2px solid #ffffff;border-bottom:2px solid #ffffff;top:45%;left:50%;transform:translate(-50%,-50%) rotate(-45deg)}.cart-page-container{padding:0 var(--space-4) 150px;display:flex;flex-direction:column}.cart-content-wrapper{flex:1}.continue-shopping-link{display:block;width:100%;background-color:var(--color-primary);color:#fff;text-decoration:none;font-weight:600;font-size:var(--font-size-sm);text-align:center;padding:var(--space-3);border-radius:var(--radius-md);transition:background-color .2s ease-in-out}.continue-shopping-link:hover{background-color:var(--color-primary-dark)}.selection-summary-bar{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) 0;font-size:var(--font-size-sm);color:var(--color-text)}.delete-selected-btn{background:none;border:none;cursor:pointer;color:var(--color-danger);font-weight:600;font-size:var(--font-size-sm);padding:0}.delete-selected-btn:disabled{color:var(--color-text-muted);cursor:not-allowed}.item-checkbox{width:20px;height:20px;flex-shrink:0;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-bg-surface);color:#fff;font-size:.65rem;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background-color .2s ease,border-color .2s ease}.item-checkbox.checked{background-color:var(--color-primary);border-color:var(--color-primary)}.product-list{display:flex;flex-direction:column;gap:var(--space-4)}.cart-item{display:flex;align-items:flex-start;gap:var(--space-3);background-color:var(--color-bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-resting);padding:var(--space-4)}.cart-item .item-checkbox{margin-top:var(--space-1)}.cart-item-image{width:60px;height:60px;flex-shrink:0;border-radius:var(--radius-sm);overflow:hidden;border:none;padding:0;background:none;cursor:pointer}.cart-item-image img{width:100%;height:100%;object-fit:cover}.cart-item-details{flex:1;display:flex;flex-direction:column;gap:var(--space-1);margin-right:var(--space-4)}.cart-item-name{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);margin:0;white-space:normal;word-break:break-word;cursor:pointer}.cart-item-name:hover{text-decoration:underline}.cart-item-bottom-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-1)}.cart-item-price-block{display:flex;flex-direction:column;gap:3px;min-width:0}.cart-item-price-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.cart-item-price{font-size:var(--font-size-md);font-weight:900;color:var(--color-accent);white-space:nowrap}.cart-item-original-price{font-size:var(--font-size-xs);color:var(--color-text-muted)}.cart-item-discount-badge{font-size:var(--font-size-xs);font-weight:900;background-color:var(--color-danger);color:#fff;padding:2px var(--space-2);border-radius:var(--radius-sm);white-space:nowrap}.cart-item-wholesale-hint{margin-top:var(--space-2);font-size:var(--font-size-xs);font-weight:600;color:var(--color-accent);background-color:#df610614;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);width:fit-content}.quantity-control{width:fit-content;flex-shrink:0}.unavailable-section{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px dashed var(--color-border)}.unavailable-section-title{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-muted);margin:0 0 var(--space-1)}.unavailable-section-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0 0 var(--space-4)}.cart-item-unavailable{opacity:.7}.cart-item-unavailable .cart-item-image img{filter:grayscale(1)}.cart-item-unavailable-badge{display:inline-block;width:fit-content;font-size:var(--font-size-xs);font-weight:700;color:var(--color-danger);background-color:#dc35451a;padding:2px var(--space-2);border-radius:var(--radius-sm)}.cart-item-remove-btn{width:fit-content;background:none;border:none;padding:0;margin-top:var(--space-1);font-size:var(--font-size-xs);font-weight:600;color:var(--color-danger);cursor:pointer}.cart-summary-bottom-bar{position:fixed;bottom:70px;left:0;right:0;max-width:var(--container-max-width);margin:0 auto;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5);background-color:var(--color-bg-surface);box-shadow:var(--shadow-hover);border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.cart-summary-top-row{display:flex;align-items:center;gap:var(--space-3)}.total-price-info{display:flex;align-items:center;justify-content:space-between;flex:1;margin-left:var(--space-1);gap:var(--space-2)}.total-payment-group{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.total-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.total-savings{font-size:var(--font-size-xs);font-weight:700;color:var(--color-success)}.total-value{font-size:var(--font-size-lg);font-weight:700;color:var(--color-accent)}.checkout-btn{background-color:var(--color-success);color:#fff;border:none;width:100%;padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:600;cursor:pointer;transition:background-color .2s ease-in-out,transform .1s ease-in-out}.checkout-btn:hover{background-color:var(--color-success-dark);transform:translateY(-2px)}.checkout-page-container{padding:var(--space-6) var(--space-4)}.checkout-content-wrapper{display:flex;flex-direction:column;gap:var(--space-4)}.checkout-card{background-color:var(--color-bg-surface);border-radius:var(--radius-md);padding:var(--space-6);box-shadow:var(--shadow-resting)}.card-title{font-size:var(--font-size-lg);font-weight:700;margin-top:0;margin-bottom:var(--space-5);border-bottom:2px solid var(--color-border);padding-bottom:var(--space-4)}.customer-info{display:flex;flex-direction:column;gap:var(--space-3)}.info-row{display:flex;justify-content:space-between;gap:var(--space-2)}.info-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.info-value{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.checkout-prompt{text-align:center}.checkout-prompt-text{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0 0 var(--space-4)}.checkout-prompt-btn{width:100%;background-color:var(--color-primary);color:#fff;border:none;padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:600;cursor:pointer;transition:background-color .2s ease-in-out}.checkout-prompt-btn:hover{background-color:var(--color-primary-dark)}.checkout-profile-suggest{display:flex;gap:var(--space-4);margin-top:var(--space-4);padding:var(--space-4);background-color:#df61060f;border:1px solid rgba(223,97,6,.3);border-radius:var(--radius-sm)}.checkout-profile-suggest>i{font-size:var(--font-size-md);color:var(--color-accent);margin-top:2px}.checkout-profile-suggest-body{flex:1;min-width:0}.checkout-profile-suggest-title{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text);margin:0 0 var(--space-1)}.checkout-profile-suggest-text{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0 0 var(--space-3)}.checkout-address-list{display:flex;flex-direction:column;gap:var(--space-3)}.checkout-address-item{display:flex;align-items:flex-start;gap:var(--space-3);width:100%;text-align:left;background-color:var(--color-bg-page);border:1.5px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);cursor:pointer;font:inherit;color:inherit;transition:border-color .2s ease}.checkout-address-item.selected{border-color:var(--color-primary);background-color:var(--color-bg-surface)}.checkout-address-radio{width:18px;height:18px;flex-shrink:0;margin-top:2px;border-radius:var(--radius-full);border:2px solid var(--color-border);position:relative}.checkout-address-item.selected .checkout-address-radio{border-color:var(--color-primary)}.checkout-address-item.selected .checkout-address-radio:after{content:"";position:absolute;width:8px;height:8px;background-color:var(--color-primary);border-radius:var(--radius-full);top:50%;left:50%;transform:translate(-50%,-50%)}.checkout-address-detail{display:flex;flex-direction:column;gap:2px;min-width:0}.checkout-address-header{display:flex;align-items:center;gap:var(--space-2)}.checkout-address-label{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text)}.checkout-address-badge{font-size:var(--font-size-xs);font-weight:700;color:var(--color-primary);background-color:var(--color-bg-page);padding:2px var(--space-2);border-radius:var(--radius-sm)}.checkout-address-recipient{font-size:var(--font-size-sm);color:var(--color-text)}.checkout-address-full,.checkout-address-location{font-size:var(--font-size-xs);color:var(--color-text-muted)}.checkout-address-landmark{font-size:var(--font-size-xs);color:var(--color-text-muted);font-style:italic}.checkout-address-distance{font-size:var(--font-size-xs);color:var(--color-text-muted)}.receipt-row-note{font-weight:400;color:var(--color-text-muted)}.receipt{position:relative;overflow:hidden;background:var(--color-bg-page);color:var(--color-text);border-radius:var(--radius-sm);padding:calc(var(--space-6) + 6px) var(--space-4) var(--space-5);margin-bottom:var(--space-5)}.receipt:before,.receipt:after{content:"";position:absolute;left:0;right:0;height:16px;background-image:radial-gradient(circle at 8px 8px,var(--color-bg-surface) 7px,transparent 7.2px);background-size:16px 16px;background-repeat:repeat-x}.receipt:before{top:-8px}.receipt:after{bottom:-8px}.receipt-items{display:flex;flex-direction:column;gap:var(--space-3)}.receipt-item-name{display:block;width:100%;border:none;background:none;padding:0;font-family:inherit;font-size:var(--font-size-sm);font-weight:700;color:var(--color-text);text-align:left;overflow-wrap:break-word;cursor:pointer}.receipt-item-name:hover{text-decoration:underline}.receipt-item-line{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:var(--space-1) var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted)}.receipt-item-qty{display:inline-flex;align-items:baseline;gap:var(--space-2)}.receipt-item-total{color:var(--color-text);font-weight:700}.receipt-item-original-unit-price{font-size:var(--font-size-xs);color:var(--color-text-muted)}.receipt-rule{border-top:1px dashed var(--color-border);margin:var(--space-4) 0}.checkout-free-ongkir-banner{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);margin-bottom:var(--space-3);background-color:#2e9e5b14;border:1px solid rgba(46,158,91,.3);border-radius:var(--radius-sm);color:var(--color-success-dark);font-size:var(--font-size-sm);font-weight:700}.receipt-totals{display:flex;flex-direction:column;gap:var(--space-2)}.receipt-row{display:flex;justify-content:space-between;gap:var(--space-2);font-size:var(--font-size-sm)}.receipt-row-discount{color:var(--color-success)}.checkout-ongkir-hint{margin:0;font-size:var(--font-size-xs);color:var(--color-danger)}.receipt-row-total{font-weight:700;font-size:var(--font-size-md)}.checkout-btn{width:100%;background-color:var(--color-primary);color:#fff;border:none;padding:var(--space-4);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-md);font-weight:600;margin-top:var(--space-5);transition:background-color .2s ease-in-out,transform .1s ease-in-out}.checkout-btn:hover{background-color:var(--color-primary-dark);transform:translateY(-2px)}.checkout-btn:disabled{background-color:var(--color-border);color:var(--color-text-muted);cursor:not-allowed;transform:none}.checkout-warning-text{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);font-weight:600;color:var(--color-danger);margin:var(--space-3) 0 0}.checkout-price-alert{margin-top:var(--space-3);padding:var(--space-3);background-color:#e74c3c0f;border:1px solid rgba(231,76,60,.25);border-radius:var(--radius-sm)}.checkout-price-alert .checkout-warning-text{margin:0}.checkout-price-alert-list{list-style:none;margin:var(--space-3) 0;padding:0}.checkout-price-alert-list li{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--color-border);font-size:var(--font-size-sm)}.checkout-price-alert-name{color:var(--color-text)}.checkout-price-alert-prices{white-space:nowrap;color:var(--color-text);font-weight:600}.checkout-price-alert-prices s{color:var(--color-text-muted);font-weight:400;margin-right:var(--space-2)}.checkout-price-alert-reload-btn{width:100%;padding:var(--space-3);border:1px solid var(--color-danger);border-radius:var(--radius-sm);background-color:var(--color-bg-surface);color:var(--color-danger);font-size:var(--font-size-sm);font-weight:700;cursor:pointer}.checkout-price-alert-reload-btn:hover{background-color:#e74c3c14}.checkout-unavailable-alert{margin-top:var(--space-3);padding:var(--space-3);background-color:var(--color-bg-page);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.checkout-unavailable-alert .checkout-warning-text{margin:0}.checkout-unavailable-list{list-style:none;margin:var(--space-3) 0 0;padding:0}.checkout-unavailable-list li{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--color-border);font-size:var(--font-size-sm)}.checkout-unavailable-name{color:var(--color-text-muted)}.checkout-unavailable-remove-btn{flex-shrink:0;background:none;border:none;padding:0;font-size:var(--font-size-xs);font-weight:600;color:var(--color-danger);cursor:pointer}.checkout-pay-loading{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:0 16px;background:#f4f4f6e0;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:checkout-pay-fade-in .2s ease-out}.checkout-pay-loading__badge{position:relative;width:104px;height:104px;margin-bottom:var(--space-4);display:flex;align-items:center;justify-content:center}.checkout-pay-loading__ring{position:absolute;inset:0;border-radius:50%;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-right-color:#e3120f;animation:checkout-pay-spin .9s linear infinite}.checkout-pay-loading__logo{width:72px;height:72px;padding:var(--space-2);border-radius:50%;background:var(--color-bg-surface);box-shadow:var(--shadow-resting);object-fit:contain;animation:checkout-pay-pulse 1.6s ease-in-out infinite}.checkout-pay-loading__title{margin:0;font-size:var(--font-size-md, .85rem);font-weight:700;color:var(--color-primary)}.checkout-pay-loading__text{margin:0;font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center}@keyframes checkout-pay-spin{to{transform:rotate(360deg)}}@keyframes checkout-pay-pulse{0%,to{transform:scale(1)}50%{transform:scale(.92)}}@keyframes checkout-pay-fade-in{0%{opacity:0}}@media (prefers-reduced-motion: reduce){.checkout-pay-loading,.checkout-pay-loading__logo{animation:none}.checkout-pay-loading__ring{animation-duration:2.4s}}.checkout-btn--pay{background-color:var(--color-success)}.checkout-btn--pay:hover{background-color:var(--color-success-dark)}.category-section{width:100%;text-align:center;background-color:var(--color-primary);padding:var(--space-4) 0}.title>h2{width:100%;text-align:left;color:var(--color-accent);padding-left:var(--space-3);margin:0;font-size:var(--font-size-lg);font-weight:700}.title>h5{width:100%;text-align:left;color:var(--color-bg-surface);opacity:.75;padding-top:var(--space-1);padding-left:var(--space-3);margin:0;font-size:var(--font-size-xs)}.products-grid{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:8px;padding:8px;scrollbar-color:var(--color-primary) #f1f1f1;scrollbar-width:thin;margin:0}.products-grid>.product-card-container{flex-shrink:0;width:203px}.products-grid::-webkit-scrollbar{height:8px}.products-grid::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.products-grid::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:10px}.products-grid::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}.section-header{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-3);margin-bottom:var(--space-2)}.section-header-icon{width:34px;height:34px;flex-shrink:0;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm)}.section-header-icon.primary{background-color:#13175f1a;color:var(--color-primary)}.section-header-icon.warning{background-color:#e74c3c1a;color:var(--color-danger)}.section-header-text{min-width:0}.section-header-title{font-size:var(--font-size-md);font-weight:700;color:var(--color-text);margin:0}.section-header-subtitle{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:2px 0 0}.category-home-section,.category-section-recommend{margin-top:var(--space-4);width:100%}.products-grid-recommend{display:flex;align-items:flex-start;width:100%;gap:8px;max-width:none;padding:8px}.masonry-column{display:flex;flex-direction:column;flex:1;min-width:0;gap:8px}.recommend-scroll-sentinel{display:flex;justify-content:center;align-items:center;min-height:40px;padding:var(--space-4) 0}.recommend-loading-text{font-size:var(--font-size-sm);color:var(--color-text-muted)}.promo-banner-card{display:flex;flex-direction:column;background-color:var(--color-primary);border:none;border-radius:var(--radius-md);overflow:hidden;text-decoration:none;box-shadow:var(--shadow-resting);transition:transform .3s ease,box-shadow .3s ease;cursor:pointer;padding:0;width:100%;text-align:left;font:inherit}.promo-banner-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover)}.promo-banner-image-wrapper{position:relative;width:100%}.promo-banner-image{width:100%;height:auto;display:block}.promo-banner-price-row{display:flex;align-items:baseline;gap:var(--space-2);padding:var(--space-2) var(--space-3)}.promo-banner-price{font-size:var(--font-size-md);font-weight:700;color:#fff}.promo-banner-original-price{font-size:var(--font-size-sm);color:#ffffffb3}.products-grid-weekly{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:8px;padding:0 8px 8px}.products-grid-weekly>.product-card-container{flex-shrink:0;width:203px}.category-section-weekly{margin-top:var(--space-4);width:100%;background-color:#96011c;padding:var(--space-4) 0}.category-section-weekly .section-header-icon{background-color:#ffffff26;color:#fff}.category-section-weekly .section-header-title{color:#fff}.category-section-weekly .section-header-subtitle{color:#ffffffbf}.shopping-icons-container{display:flex;gap:var(--space-3);padding:var(--space-4);background-color:var(--color-bg-surface);width:100%}.icon-item{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1}.icon-square{width:100%;height:40px;display:flex;justify-content:center;align-items:center;overflow:hidden}.icon-square img{width:100%;height:100%;object-fit:contain}.promo-tile-section{padding:var(--space-4) 0;background-color:var(--color-bg-surface)}.promo-tile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);padding:0 var(--space-3)}.promo-tile-card{display:block;width:100%;aspect-ratio:12 / 5;padding:0;border:none;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;box-shadow:var(--shadow-resting)}.promo-tile-image{width:100%;height:100%;object-fit:cover}.brand-sale-section{padding:var(--space-4) 0;background-color:var(--color-bg-surface)}.brand-sale-list{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:var(--space-4);padding:var(--space-1) var(--space-3);scrollbar-width:none}.brand-sale-list::-webkit-scrollbar{display:none}.brand-sale-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);flex-shrink:0;width:64px;text-align:center;background:none;border:none;padding:0;font:inherit;cursor:pointer;font-weight:600}.brand-sale-avatar{width:52px;height:52px;border-radius:var(--radius-full);border:1px solid var(--color-primary);object-fit:cover;flex-shrink:0}.brand-sale-name{font-size:var(--font-size-xs);color:var(--color-text);line-height:1.2}.product-results-page{padding:var(--space-4) 0;min-height:50vh}.product-count-info{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-4);padding-left:var(--space-3);font-weight:600}.product-results-status{text-align:center;color:var(--color-text-muted);margin-top:var(--space-6)}.product-results-grid{display:grid;width:100%;padding:var(--space-3);grid-template-columns:repeat(var(--product-grid-columns),1fr);gap:var(--space-3)}.promo-detail-page{padding:var(--space-4) 0;min-height:50vh}.promo-detail-header{padding:0 var(--space-3);margin-bottom:var(--space-4)}.promo-validity-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:999px;background:#df61061a;border:1px solid rgba(223,97,6,.28)}.promo-validity-badge .fa{font-size:var(--font-size-sm);color:var(--color-accent)}.promo-validity-dates{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text)}.promo-validity-divider{color:#df610666;font-weight:700}.promo-validity-status{font-size:var(--font-size-sm);font-weight:700;color:var(--color-accent);letter-spacing:.01em}.promo-validity-badge.is-last-day .promo-validity-status{animation:promo-validity-pulse 1.6s ease-in-out infinite}@keyframes promo-validity-pulse{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion: reduce){.promo-validity-badge.is-last-day .promo-validity-status{animation:none}}.promo-validity-badge.is-ended{background:#7f8c8d1a;border-color:#7f8c8d40}.promo-validity-badge.is-ended .fa,.promo-validity-badge.is-ended .promo-validity-divider,.promo-validity-badge.is-ended .promo-validity-status{color:var(--color-text-muted)}.promo-detail-status{text-align:center;color:var(--color-text-muted);margin-top:var(--space-6)}.promo-detail-grid{display:grid;width:100%;padding:var(--space-3);grid-template-columns:repeat(var(--product-grid-columns),1fr);gap:var(--space-3)}@keyframes installPromptSlideUp{0%{transform:translate(-50%,100%);opacity:0}to{transform:translate(-50%);opacity:1}}.install-prompt{position:fixed;left:50%;bottom:calc(65px + var(--space-3));transform:translate(-50%);width:calc(100% - var(--space-4) * 2);max-width:calc(var(--container-max-width) - var(--space-4) * 2);z-index:1140;display:flex;align-items:center;gap:var(--space-3);background-color:var(--color-bg-surface);box-shadow:var(--shadow-hover);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);animation:installPromptSlideUp .25s ease-out}.install-prompt-close{position:absolute;top:-8px;right:-8px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-full);background-color:var(--color-text-muted);color:#fff;font-size:.6rem;cursor:pointer}.install-prompt-icon{width:42px;height:42px;flex-shrink:0;border-radius:var(--radius-sm);object-fit:cover}.install-prompt-body{flex:1;min-width:0}.install-prompt-title{margin:0;font-size:var(--font-size-sm);font-weight:700;color:var(--color-text)}.install-prompt-text{margin:2px 0 0;font-size:var(--font-size-xs);color:var(--color-text-muted)}.install-prompt-btn{flex-shrink:0;background-color:var(--color-primary);color:#fff;border:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:background-color .2s ease-in-out}.install-prompt-btn:hover{background-color:var(--color-primary-dark)}@keyframes popupAdFadeIn{0%{opacity:0}to{opacity:1}}@keyframes popupAdZoomIn{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.popup-ad-overlay{position:fixed;inset:0;background-color:#0009;z-index:2100;display:flex;align-items:center;justify-content:center;padding:var(--space-5);animation:popupAdFadeIn .2s ease}.popup-ad-card{position:relative;width:100%;max-width:360px;animation:popupAdZoomIn .25s ease-out}.popup-ad-image{width:100%;display:block;border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-hover)}.popup-ad-close-btn{position:absolute;top:-14px;right:-14px;width:32px;height:32px;border-radius:var(--radius-full);border:none;background-color:var(--color-bg-surface);color:var(--color-text);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-hover);font-size:var(--font-size-md)}.onboarding-tour-blocker-band{position:fixed;z-index:2299;background:transparent}.onboarding-tour-spotlight{position:fixed;z-index:2300;border-radius:var(--radius-md);box-shadow:0 0 0 9999px #0f172ab8;pointer-events:none;transition:top .25s ease,left .25s ease,width .25s ease,height .25s ease}.onboarding-tour-tooltip{position:fixed;left:50%;transform:translate(-50%);width:min(92vw,380px);z-index:2301;background-color:var(--color-bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-hover);padding:var(--space-4) var(--space-5) var(--space-5)}.onboarding-tour-step-count{font-size:var(--font-size-xs);font-weight:700;color:var(--color-accent);margin:0 0 var(--space-1)}.onboarding-tour-title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text);margin:0 0 var(--space-2)}.onboarding-tour-body{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.5;margin:0 0 var(--space-4)}.onboarding-tour-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.onboarding-tour-skip-btn{background:none;border:none;padding:var(--space-2);margin-left:calc(var(--space-2) * -1);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:600;cursor:pointer}.onboarding-tour-skip-btn:hover{color:var(--color-text)}.onboarding-tour-next-btn{background-color:var(--color-primary);color:#fff;border:none;padding:var(--space-2) var(--space-5);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:700;cursor:pointer;transition:background-color .2s ease}.onboarding-tour-next-btn:hover{background-color:var(--color-primary-dark)}
