.modal{display:none;position:fixed;z-index:var(--z-modal);left:0;top:0;width:100%;height:100%;background-color:var(--color-bg-modal);backdrop-filter:blur(5px);align-items:center;justify-content:center}.modal.active{display:flex}.modal-content{background:var(--color-bg);padding:30px;border-radius:var(--border-radius-large);width:auto;max-width:560px;position:relative;box-shadow:var(--shadow-large)}.modal-close{position:absolute;top:10px;right:10px;background:none;border:none;font-size:33px;color:var(--color-text-light);line-height:1;padding:0;width:32px;height:32px;transition:color .2s ease}.modal-close:hover{color:var(--color-text-dark);cursor:pointer}.modal-cart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--gap-large)}.modal-cart-header h2{margin:0;font-size:22px;font-weight:var(--font-weight-semibold);color:var(--color-text-dark)}.clear-cart-btn{background:none;border:none;color:var(--color-text-light);font-size:14px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:color .2s ease,background-color .2s ease}.clear-cart-btn:hover{color:#e53935;background-color:#e539351a}.cart-items-container{max-height:250px;overflow-y:auto;scrollbar-gutter:stable;margin-bottom:var(--gap-large);padding-bottom:var(--gap-large);border-bottom:1px var(--border-style) var(--color-border-light)}.cart-empty{text-align:center;color:var(--color-text-light);padding:20px}.cart-item{display:flex;gap:12px;padding:12px;background:var(--color-bg-gray);border-radius:var(--border-radius);margin-bottom:10px;position:relative}.cart-item:last-child{margin-bottom:0}.cart-item-tape{background:#2e7d3214;border:1px solid var(--color-primary)}.cart-item-link{flex-shrink:0}.cart-item-link img,.cart-item img{width:58px;height:58px;object-fit:cover;border-radius:var(--border-radius);flex-shrink:0;transition:opacity .2s ease}.cart-item-link:hover img{opacity:.8}.cart-item-details{flex:1;min-width:0}.cart-item-title-link{text-decoration:none;display:block}.cart-item-title-link:hover h4{color:var(--color-primary)}.cart-item-details h4{margin:0 0 4px;font-size:16px;font-weight:var(--font-weight-semibold);color:var(--color-text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:25px;transition:color .2s ease}.cart-item-price{margin:0 0 4px;font-size:15px;font-weight:var(--font-weight-medium);color:var(--color-primary)}.cart-item-meta{margin:0;font-size:14px;color:var(--color-text-light)}.cart-item-meta span{font-weight:var(--font-weight-medium);color:var(--color-text)}.cart-item-quantity-row{display:flex;align-items:center;gap:6px;margin-top:4px}.cart-item-qty-separator{font-size:14px;color:var(--color-text-light)}.cart-item-remove{position:absolute;top:8px;right:8px;width:24px;height:24px;border:none;background:none;font-size:20px;color:var(--color-text-light);cursor:pointer;padding:0;line-height:1;transition:color .2s ease}.cart-item-remove:hover{color:#e53935}.selected-tapes-container{display:none;margin-bottom:var(--gap-large);padding:12px;background:#2e7d3214;border:1px solid var(--color-primary);border-radius:var(--border-radius)}.selected-tapes-title{font-size:14px;font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0 0 10px}.selected-tape-item{display:flex;align-items:center;gap:10px;padding:8px 0}.selected-tape-item:not(:last-child){border-bottom:1px solid var(--color-border-light)}.selected-tape-item img{width:44px;height:44px;object-fit:cover;border-radius:6px;flex-shrink:0}.selected-tape-info{flex:1;min-width:0}.selected-tape-name{display:block;font-size:14px;font-weight:var(--font-weight-medium);color:var(--color-text-dark)}.selected-tape-price{display:block;font-size:13px;color:var(--color-primary);font-weight:var(--font-weight-semibold)}.modal-order-summary{margin-bottom:var(--gap-xlarge);padding:var(--gap-large);background:var(--color-bg-gray);border-radius:var(--border-radius)}.modal-order-summary p{margin:8px 0;font-size:19px}.modal-order-summary span{font-weight:var(--font-weight-semibold)}.modal-total{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-dark);margin-top:12px;padding-top:12px;border-top:1px var(--border-style) var(--color-border-light)}.modal-form .form-group{margin-bottom:16px}.modal-form label{display:block;margin-bottom:6px;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text)}.modal-form input{width:100%;padding:12px;border:var(--border-width) var(--border-style) var(--color-border);border-radius:var(--border-radius);font-size:var(--font-size-base);transition:border-color .2s ease;box-sizing:border-box}.modal-form input:focus{outline:none;border-color:var(--color-primary)}.phone-input-wrapper{display:flex;align-items:center;border:var(--border-width) var(--border-style) var(--color-border);border-radius:var(--border-radius);overflow:hidden;transition:border-color .2s ease}.phone-input-wrapper:focus-within{border-color:var(--color-primary)}.phone-prefix{padding:12px;background:var(--color-bg-gray);color:var(--color-text);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);border-right:var(--border-width) var(--border-style) var(--color-border);flex-shrink:0}.phone-input-wrapper input{border:none;border-radius:0;flex:1}.phone-input-wrapper input:focus{border:none}.field-error{display:none;color:#e53935;font-size:14px;margin-top:6px}.field-error.visible{display:block}.phone-input-wrapper.error,.modal-form input.input-error{border-color:#e53935}.modal-form .btn-buy-now{width:100%;margin-top:var(--gap-medium);animation:none}.upsell-section{margin-top:20px;margin-bottom:10px;padding-top:20px;border-top:1px solid var(--color-border-light)}.upsell-title{font-size:15px;font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0 0 12px}.upsell-products{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}.upsell-product{display:flex;align-items:center;gap:12px;padding:10px;background:var(--color-bg-gray);border-radius:var(--border-radius);border:1px solid transparent;transition:background-color .2s ease,border-color .2s ease}.upsell-product.selected{background:#2e7d3214;border-color:var(--color-primary)}.upsell-product img{width:44px;height:44px;object-fit:cover;border-radius:6px;flex-shrink:0}.upsell-product-info{flex:1;min-width:0}a.upsell-product-name,.upsell-product-name{display:block;font-size:14px;font-weight:var(--font-weight-medium);color:var(--color-text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;transition:color .2s ease}a.upsell-product-name:hover{color:var(--color-primary)}.upsell-product-price{display:block;font-size:13px;color:var(--color-primary);font-weight:var(--font-weight-semibold)}.upsell-quantity{display:flex;align-items:center;gap:2px;flex-shrink:0}.upsell-qty-btn{width:28px;height:28px;border:1px solid var(--color-border);background:var(--color-bg);font-size:16px;cursor:pointer;border-radius:4px;transition:opacity .2s ease,transform .2s ease;display:flex;align-items:center;justify-content:center;padding:0;line-height:1}.upsell-qty-btn:hover{opacity:.6;transform:scale(1.1)}.upsell-qty-value{width:32px;text-align:center;font-size:14px;font-weight:var(--font-weight-semibold)}@media(min-width:768px){.modal-content{width:560px;max-height:90vh;overflow-y:auto}}@media(max-width:767px){.modal{align-items:stretch}.modal-content{width:100%;height:100%;max-width:none;border-radius:0;padding:0;display:flex;flex-direction:column;overflow:hidden}.modal-close{top:15px;right:15px}.modal-cart-header{padding:20px 20px 10px;flex-shrink:0}.clear-cart-btn{margin-right:30px}.cart-items-container{max-height:220px;overflow-y:auto;flex-shrink:0;padding:0 20px 10px;margin-bottom:0;border-bottom:none}.modal-order-summary,.selected-tapes-container{flex-shrink:0;margin:0 20px 10px}.modal-form{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:0 20px 20px}.modal-form .btn-buy-now{margin-top:auto;flex-shrink:0;position:sticky;bottom:0;background:var(--color-primary)}.cart-item{padding:10px;gap:10px}.cart-item img{width:50px;height:50px}.cart-item-details h4,.cart-item-price{font-size:14px}.cart-item-meta{font-size:13px}.upsell-product{padding:8px;gap:10px}.upsell-product img{width:40px;height:40px}.upsell-product-name{font-size:13px}.upsell-product-price{font-size:12px}}
