.modal{opacity:0;transition-property:opacity;pointer-events:none}.modal--open{opacity:1;pointer-events:inherit}.modal__overlay{position:fixed;z-index:3;left:0;right:0;top:0;bottom:0;display:grid;align-items:center;padding:16px;background-color:rgba(0,0,0,.12)}.modal__container{display:grid;row-gap:24px;width:100%;margin-left:auto;margin-right:auto;padding:40px;background-color:#fff;border-radius:var(--border-radius);box-shadow:0 32px 32px -4px rgba(20,16,41,.06),0 64px 96px 0 rgba(20,16,41,.12),0 8px 16px -1px rgba(20,16,41,.06),0 0 1px 0 rgba(20,16,41,.12)}.modal__header{display:grid;-moz-column-gap:16px;column-gap:16px;grid-template-columns:1fr auto;align-items:center}.modal__title{font-size:24px;font-weight:600;color:rgba(20,16,41,.8)}.modal__close{--size:24px;display:flex;justify-content:center;align-items:center;width:var(--size);height:var(--size)}.modal__icon{color:#141029;opacity:.4}.modal-popup{position:fixed;top:0;left:0;bottom:0;right:0;width:100%;height:100%;background:rgba(0,0,0,.7);padding:50px 24px;opacity:1!important;z-index:var(--z-index-modal)}.modal-popup__content{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.modal-popup__box{padding:24px 16px;border-radius:12px;background:#fff;position:relative}.modal-popup__box p{color:#000}.modal-popup__close--fixed{position:absolute;top:16px;right:16px;width:20px;height:20px}.modal-popup__close--fixed:after,.modal-popup__close--fixed:before{content:"";position:absolute;background:#eee}.modal-popup__close--fixed:before{width:20px;height:2px;transform:translate(-50%,-50%) rotate(45deg)}.modal-popup__close--fixed:after{width:2px;height:20px;transform:translate(-50%,-50%) rotate(45deg)}.modal-popup__close--fixed:hover:after,.modal-popup__close--fixed:hover:before{background:#000}.chat-window{position:fixed;bottom:88px;right:20px;width:380px;height:480px;z-index:9991;background:var(--color-background-card);border-radius:var(--radius-card);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;overflow:hidden}.chat-window__header{padding:12px 16px;background:var(--color-brand-gradient);color:#fff;display:flex;align-items:center;gap:10px;flex-shrink:0}.chat-window__header-avatar{width:36px;height:36px;border-radius:var(--radius-full);-o-object-fit:cover;object-fit:cover;background:hsla(0,0%,100%,.2);flex-shrink:0}.chat-window__header-info{flex:1;min-width:0}.chat-window__header-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-window__header-status{font-size:var(--font-size-xs);opacity:.85}.chat-window__close{background:none;border:none;color:#fff;cursor:pointer;padding:4px;opacity:.8;transition:opacity var(--transition-fast);flex-shrink:0;display:flex;align-items:center;justify-content:center}.chat-window__close:hover{opacity:1}.chat-window__messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px}.chat-window__messages .message-row.response{align-self:flex-end;max-width:80%}.chat-window__messages .message-row.response .msg-body{background:rgba(255,170,0,.15);padding:8px 12px;border-radius:12px 12px 4px 12px;font-size:var(--font-size-sm);line-height:1.4;overflow-wrap:break-word}.chat-window__messages .message-row.message-admin{align-self:flex-start;max-width:80%}.chat-window__messages .message-row.message-admin .msg-body{background:var(--color-gray-100);padding:8px 12px;border-radius:12px 12px 12px 4px;font-size:var(--font-size-sm);line-height:1.4;overflow-wrap:break-word}.chat-window__messages .msg-date{font-size:11px;color:var(--color-text-muted);margin-bottom:2px}.chat-window__messages .op-nick,.chat-window__messages .usr-tit{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted-dark);margin-bottom:2px}.chat-window__messages img{max-width:100%;height:auto;border-radius:var(--radius-base)}.chat-window__messages .profile-msg-pic{width:28px;height:28px;border-radius:var(--radius-full);vertical-align:middle;margin-right:6px}.chat-window__input{padding:12px 16px;border-top:1px solid var(--color-border);display:flex;align-items:flex-end;gap:8px;flex-shrink:0}.chat-window__input-field{flex:1;border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:8px 16px;font-size:var(--font-size-sm);resize:none;max-height:100px;outline:none;font-family:var(--font-family-base);line-height:1.4;transition:border-color var(--transition-fast)}.chat-window__input-field:focus{border-color:var(--color-brand-primary)}.chat-window__file-btn,.chat-window__send-btn{background:none;border:none;cursor:pointer;padding:6px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast);flex-shrink:0;color:var(--color-brand-primary)}.chat-window__file-btn:hover,.chat-window__send-btn:hover{background:var(--color-background-hover)}.chat-window__send-btn:disabled{opacity:.4;cursor:default}.chat-window__char-count{color:var(--color-text-muted);padding:0 16px 4px}.chat-window__char-count--warn{color:var(--color-danger)}.chat-window__status{padding:6px 16px;font-size:var(--font-size-xs);text-align:center;flex-shrink:0}.chat-window__status--warning{background:var(--color-warning-bg);color:#856404}.chat-window__status--error{background:var(--color-danger-bg);color:#721c24}.chat-window__status--info{background:var(--color-info-bg);color:#0c5460}.chat-window__form{flex:1;padding:16px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.chat-window__form-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0;color:var(--color-text-heading)}.chat-window__form-field{display:flex;flex-direction:column;gap:4px}.chat-window__form-label{font-size:13px;font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.chat-window__form-input,.chat-window__form-textarea{border:1px solid var(--color-border);border-radius:var(--radius-base);padding:10px 12px;font-size:var(--font-size-sm);font-family:var(--font-family-base);outline:none;transition:border-color var(--transition-fast);background:var(--color-background-card);color:var(--color-text)}.chat-window__form-input:focus,.chat-window__form-textarea:focus{border-color:var(--color-brand-primary)}.chat-window__form-textarea{resize:vertical;min-height:80px;line-height:1.4}.chat-window__form-submit{padding:10px 20px;border:none;border-radius:var(--radius-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:#1a1a1a;background:var(--color-brand-primary);cursor:pointer;transition:opacity var(--transition-fast),filter var(--transition-fast)}.chat-window__form-submit:hover{filter:brightness(.92)}.chat-window__form-submit:disabled{opacity:.5;cursor:default}.chat-window__upload-bar{height:3px;background:var(--color-border);border-radius:2px;overflow:hidden;margin:0 16px}.chat-window__upload-progress{height:100%;background:var(--color-brand-primary)}.chat-window__typing{padding:4px 16px;font-size:var(--font-size-xs);color:var(--color-text-muted);font-style:italic}@media (max-width:767px){.chat-window{position:fixed;inset:0;width:100%;height:100dvh;border-radius:0;bottom:0;right:0}.chat-window__header{padding-top:env(safe-area-inset-top,12px)}}@media (min-width:768px){.chat-window{max-height:calc(100vh - 104px);max-height:calc(100dvh - 104px)}}.chat-window--enter{animation:chatSlideUp .3s ease}@keyframes chatSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.chat-window--enter{animation:none}}.chat-window__form-group{display:flex;flex-direction:column;gap:4px}.chat-window__label{font-size:13px;font-weight:500;color:var(--color-text-secondary,#555)}.chat-window__agree-label{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.4;color:var(--color-text-secondary,#555);cursor:pointer}.chat-window__agree-label input{margin-top:2px;flex-shrink:0}.chat-window__label--required{color:var(--color-danger,#e53e3e)}.chat-window__form .chat-window__input-field{border-radius:var(--radius-base,8px);width:100%;box-sizing:border-box}.chat-window__textarea{border:1px solid var(--color-border,#e0e0e0);border-radius:var(--radius-base,8px);padding:10px 12px;font-size:var(--font-size-sm,14px);font-family:inherit;outline:none;resize:vertical;min-height:80px;width:100%;box-sizing:border-box;line-height:1.4;transition:border-color .2s}.chat-window__textarea:focus{border-color:var(--color-brand-primary,#fa0)}.chat-window__submit-btn{padding:10px 20px;border:none;border-radius:var(--radius-base,8px);font-size:var(--font-size-sm,14px);font-weight:600;color:#1a1a1a;background:var(--color-brand-primary,#fa0);cursor:pointer;width:100%;transition:opacity .2s,filter .2s}.chat-window__submit-btn:hover{filter:brightness(.92)}.chat-window__submit-btn:disabled{opacity:.5;cursor:default}.chat-window__offline-notice{font-size:var(--font-size-sm,14px);color:var(--color-text-secondary,#555);margin:0;line-height:1.4}.chat-window__body{flex:1;display:flex;flex-direction:column;overflow:hidden}.chat-window__input-textarea{flex:1;border:1px solid var(--color-border,#e0e0e0);border-radius:20px;padding:8px 16px;font-size:var(--font-size-sm,14px);resize:none;max-height:100px;outline:none;font-family:inherit;line-height:1.4;transition:border-color .2s}.chat-window__input-textarea:focus{border-color:var(--color-brand-primary,#fa0)}.chat-window__attach-btn{background:none;border:none;cursor:pointer;padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary,#555);transition:background .2s}.chat-window__attach-btn:hover{background:var(--color-gray-100,#f0f0f0)}.chat-window__link-btn{background:none;border:none;color:var(--color-brand-primary,#fa0);cursor:pointer;font-size:inherit;text-decoration:underline;padding:0}.chat-window__error{font-size:13px;color:var(--color-danger,#e53e3e);padding:4px 0}.chat-window__success-icon{text-align:center;color:var(--color-success,#38a169)}.chat-window__success-text{text-align:center;font-size:var(--font-size-sm,14px);color:var(--color-text-secondary,#555)}.chat-window__form--centered{align-items:center;justify-content:center}.chat-window__upload-progress{display:flex;align-items:center;gap:8px;padding:4px 16px;font-size:12px;color:var(--color-text-secondary,#555)}.chat-window__char-count{font-size:11px;color:var(--color-text-muted,#999);text-align:right;padding-top:2px}.cart-pulse,.cart-pulse svg{animation:cart-icon-pulse .6s cubic-bezier(.4,0,.2,1)}@keyframes cart-icon-pulse{0%{transform:scale(1)}25%{transform:scale(1.3)}50%{transform:scale(.95)}to{transform:scale(1)}}.cart-pulse-glow:after{content:"";position:absolute;inset:-4px;border-radius:50%;background:radial-gradient(circle,rgba(34,197,94,.4) 0,transparent 70%);animation:pulse-glow .6s ease-out;pointer-events:none}@keyframes pulse-glow{0%{opacity:1;transform:scale(.8)}to{opacity:0;transform:scale(1.5)}}.cart-confirm{position:fixed;z-index:1100;background:#fff;border-radius:16px;box-shadow:0 8px 32px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.06);overflow:hidden;max-width:380px;pointer-events:auto}@media (min-width:576px){.cart-confirm{top:90px;right:24px}}@media (max-width:575px){.cart-confirm{bottom:16px;left:12px;right:12px;max-width:none;z-index:10000}body:not(.cookies-accepted) .cart-confirm{bottom:196px}}.cart-confirm__content{padding:16px 20px}.cart-confirm__header{display:flex;align-items:center;gap:10px}.cart-confirm__icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:50%;flex-shrink:0}.cart-confirm__icon svg{width:16px;height:16px;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;fill:none}.cart-confirm__checkmark{stroke-dasharray:24;stroke-dashoffset:24;animation:cart-confirm-check .35s ease-out .15s forwards}@keyframes cart-confirm-check{to{stroke-dashoffset:0}}.cart-confirm__header-text{flex:1;min-width:0}.cart-confirm__title{font-size:15px;font-weight:600;color:var(--c--text,rgba(17,15,38,.8));margin:0;line-height:1.2}.cart-confirm__subtitle{font-size:12px;color:var(--c--text-light,rgba(17,15,38,.4));margin:2px 0 0;line-height:1.2}.cart-confirm__product-card{display:flex;gap:10px;padding:10px;margin-top:12px;background:rgba(20,1,41,.025);border-radius:10px;align-items:center}.cart-confirm__product-image-wrap{flex-shrink:0;width:48px;height:48px;border-radius:8px;overflow:hidden;background:#f5f5f5}.cart-confirm__product-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.cart-confirm__product-info{flex:1;min-width:0}.cart-confirm__product-name{font-size:13px;font-weight:500;color:var(--c--text,rgba(17,15,38,.8));margin:0;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}.cart-confirm__product-meta{display:flex;align-items:center;gap:6px;margin-top:3px}.cart-confirm__product-qty{font-size:12px;color:var(--c--text-light,rgba(17,15,38,.4))}.cart-confirm__product-divider{font-size:12px;color:var(--c--text-light,rgba(17,15,38,.3))}.cart-confirm__product-total{font-size:13px;font-weight:600;color:var(--c--text,rgba(17,15,38,.8))}.cart-confirm__progress{height:3px;background:linear-gradient(115deg,var(--c--brand-primary,#fa0),var(--c--brand-secondary,#f54562));animation:cart-confirm-progress 1.5s linear forwards;transform-origin:left}@keyframes cart-confirm-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (min-width:576px){.cart-confirm-enter-start{opacity:0;transform:translateX(40px) scale(.96)}.cart-confirm-enter-end{opacity:1;transform:translateX(0) scale(1)}.cart-confirm-enter{transition:opacity .35s cubic-bezier(.32,.72,0,1),transform .35s cubic-bezier(.32,.72,0,1)}.cart-confirm-leave-start{opacity:1;transform:translateX(0) scale(1)}.cart-confirm-leave-end{opacity:0;transform:translateX(40px) scale(.96)}.cart-confirm-leave{transition:opacity .25s cubic-bezier(.4,0,1,1),transform .25s cubic-bezier(.4,0,1,1)}}@media (max-width:575px){.cart-confirm-enter-start{opacity:0;transform:translateY(30px) scale(.97)}.cart-confirm-enter-end{opacity:1;transform:translateY(0) scale(1)}.cart-confirm-enter{transition:opacity .35s cubic-bezier(.32,.72,0,1),transform .35s cubic-bezier(.32,.72,0,1)}.cart-confirm-leave-start{opacity:1;transform:translateY(0) scale(1)}.cart-confirm-leave-end{opacity:0;transform:translateY(30px) scale(.97)}.cart-confirm-leave{transition:opacity .25s cubic-bezier(.4,0,1,1),transform .25s cubic-bezier(.4,0,1,1)}}@media (prefers-reduced-motion:reduce){.button__spinner svg,.button__success .checkmark-path,.cart-confirm-enter,.cart-confirm-leave,.cart-confirm__checkmark,.cart-confirm__progress,.cart-pulse,.cart-pulse svg,.cart-pulse-glow:after{animation:none!important;transition:none!important}.button__success .checkmark-path,.cart-confirm__checkmark{stroke-dashoffset:0}.cart-confirm__progress{transform:scaleX(0)}}