/** * Стили кнопки "Купить" и модалки выбора вариантов * /new/assets/css/buy-button.css *//* ========================================================================== Кнопка "Купить" ========================================================================== *//* Скрываем кнопку до инициализации JS (убирает мигание) */.buy-btn-wrapper:not(.buy-btn-ready) .buy-btn,.buy-btn-wrapper:not(.buy-btn-ready) .qty-control{opacity:0;transition:opacity 0.15s ease;}.buy-btn-wrapper.buy-btn-ready .buy-btn,.buy-btn-wrapper.buy-btn-ready .qty-control{opacity:1;}.buy-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;font-size:14px;font-weight:600;color:#fff;background:linear-gradient(135deg, var(--g5) 0%, var(--g6) 100%);border:none;border-radius:var(--r2);cursor:pointer;transition:all 0.2s ease;white-space:nowrap;min-width:80px;}.buy-btn:hover{background:linear-gradient(135deg, var(--g4) 0%, var(--g5) 100%);transform:translateY(-1px);box-shadow:0 4px 12px var(--sg);}.buy-btn:active{transform:translateY(0);}.buy-btn:disabled,.buy-btn.loading{opacity:0.7;cursor:not-allowed;transform:none;}/* Большая кнопка для страницы товара */.buy-btn--large{padding:14px 32px;font-size:16px;min-width:160px;border-radius:var(--r3);}.buy-btn--large:hover{box-shadow:0 6px 16px var(--sg);}/* Кнопка "В корзине" — приглушённый стиль */.buy-btn--in-cart{background:linear-gradient(135deg, var(--n4) 0%, var(--n5) 100%);color:#fff;cursor:pointer;}.buy-btn--in-cart:hover{background:linear-gradient(135deg, var(--n4) 0%, var(--n5) 100%);box-shadow:0 4px 12px var(--s2);}/* Qty-control большой размер */.buy-btn-wrapper .qty-control{padding:4px;}.buy-btn-wrapper .qty-btn{width:40px;height:40px;font-size:18px;}.buy-btn-wrapper .qty-value{min-width:50px;font-size:18px;padding:8px 12px;}.buy-btn.loading::after{content:'';width:14px;height:14px;margin-left:8px;border:2px solid rgba(255,255,255,0.3);border-top-color:#fff;border-radius:50%;animation:spin 0.8s linear infinite;}@keyframes spin{to{transform:rotate(360deg);}}/* ========================================================================== Qty Control (количество в корзине) ========================================================================== */.qty-control{display:inline-flex;align-items:center;gap:2px;background:var(--n1);border-radius:var(--r2);padding:2px;}.qty-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;font-size:16px;font-weight:600;color:var(--n9);background:#fff;border:none;border-radius:var(--r1);cursor:pointer;transition:all 0.15s ease;}.qty-btn:hover{background:var(--g0);color:var(--g5);}.qty-btn:active{transform:scale(0.95);}.qty-btn--plus{color:var(--g5);}.qty-btn--plus:hover{background:var(--g5);color:#fff;}.qty-btn--minus{color:var(--n5);}.qty-btn--remove{color:var(--err);}.qty-btn--remove:hover{background:#ffebee;color:var(--err);}.qty-value{min-width:32px;text-align:center;font-size:14px;font-weight:600;color:var(--n9);padding:0 4px;}/* ========================================================================== Модалка ========================================================================== */.buy-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0, 0, 0, 0.5);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:all 0.25s ease;}.buy-modal.active{opacity:1;visibility:visible;}.buy-modal__content{position:relative;width:100%;max-width:480px;max-height:calc(100vh - 40px);background:#fff;border-radius:var(--r4);box-shadow:0 20px 60px rgba(0, 0, 0, 0.25);overflow:hidden;transform:translateY(20px) scale(0.95);transition:transform 0.25s ease;}.buy-modal.active .buy-modal__content{transform:translateY(0) scale(1);}.buy-modal__close{position:absolute;top:12px;right:12px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--n5);background:rgba(0, 0, 0, 0.05);border:none;border-radius:50%;cursor:pointer;transition:all 0.15s ease;z-index:10;}.buy-modal__close:hover{background:rgba(0, 0, 0, 0.1);color:var(--n9);}.buy-modal__body{padding:24px;max-height:calc(100vh - 80px);overflow-y:auto;}.buy-modal__loading,.buy-modal__error,.buy-modal__empty{text-align:center;padding:40px 20px;color:var(--n5);font-size:15px;}.buy-modal__error{color:var(--err);}/* Header модалки */.buy-modal__header{display:flex;gap:16px;margin-bottom:16px;}.buy-modal__photo{flex-shrink:0;width:100px;height:100px;display:flex;align-items:center;justify-content:center;background:var(--n0);border-radius:12px;overflow:hidden;}.buy-modal__photo img{max-width:100%;max-height:100%;object-fit:contain;}.buy-modal__info{flex:1;min-width:0;}.buy-modal__title{margin:0 0 8px 0;font-size:18px;font-weight:600;color:var(--n9);line-height:1.3;}.buy-modal__form{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--n5);margin-bottom:4px;}.buy-modal__vendor{font-size:13px;color:var(--n4);}/* Иконка формы выпуска */.form-icon-img{width:16px;height:16px;opacity:0.7;}/* Дропдауны */.buy-modal__dropdowns{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px;}.dropdown{position:relative;}.dropdown__toggle{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;font-size:13px;color:var(--g5);background:var(--g0);border:none;border-radius:var(--r2);cursor:pointer;transition:all 0.15s ease;}.dropdown__toggle:hover{background:var(--g1);}.dropdown__arrow{font-size:10px;transition:transform 0.2s ease;}.dropdown.open .dropdown__arrow{transform:rotate(180deg);}.dropdown__menu{position:absolute;top:calc(100% + 4px);left:0;min-width:200px;background:#fff;border-radius:var(--r3);box-shadow:0 8px 24px rgba(0, 0, 0, 0.15);opacity:0;visibility:hidden;transform:translateY(-8px);transition:all 0.2s ease;z-index:100;}.dropdown.open .dropdown__menu{opacity:1;visibility:visible;transform:translateY(0);}.dropdown__item{display:block;padding:10px 14px;font-size:13px;color:var(--n9);text-decoration:none;transition:background 0.15s ease;}.dropdown__item:first-child{border-radius:var(--r3) 10px 0 0;}.dropdown__item:last-child{border-radius:0 0 10px 10px;}.dropdown__item:hover{background:var(--n0);color:var(--g5);}/* Разделитель */.buy-modal__divider{height:1px;background:var(--n2);margin:16px 0;}/* Варианты — список */.buy-modal__variants-label{font-size:14px;font-weight:500;color:var(--n5);margin-bottom:12px;}.buy-modal__variants-list{display:flex;flex-direction:column;gap:8px;}.variant-row{display:flex;align-items:center;gap:12px;padding:12px;background:var(--n0);border-radius:var(--r3);transition:background 0.15s ease;}.variant-row:hover{background:var(--n1);}.variant-row--in-cart{background:#e8f5e9;border-left:3px solid #4caf50;}.variant-row--in-cart:hover{background:#dcedc8;}.variant-row__label{flex:1;font-size:14px;color:var(--n9);}.variant-row__price{font-size:15px;font-weight:600;color:var(--n9);min-width:80px;text-align:right;}.variant-row__action{flex-shrink:0;}/* Варианты — селекторы (≥8 комбинаций) */.buy-modal__selectors{/* контейнер */}.selector-group{margin-bottom:16px;}.selector-group__label{display:block;font-size:13px;font-weight:500;color:var(--n5);margin-bottom:8px;}.selector-group__options{display:flex;flex-wrap:wrap;gap:6px;}.selector-btn{padding:8px 14px;font-size:13px;font-weight:500;color:var(--n9);background:var(--n1);border:2px solid transparent;border-radius:var(--r2);cursor:pointer;transition:all 0.15s ease;}.selector-btn:hover{background:var(--g0);border-color:var(--g2);}.selector-btn.active{background:var(--g0);border-color:var(--g5);color:var(--g5);}.buy-modal__selected-variant{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;background:linear-gradient(135deg, #f8fbff 0%, #f0f7ff 100%);border-radius:12px;}.selected-variant__price{font-size:22px;font-weight:700;color:var(--n9);}.selected-variant__action{flex-shrink:0;}/* Аналоги */.buy-modal__analogs{margin-top:8px;}.buy-modal__analogs-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:12px;font-size:14px;font-weight:500;color:var(--n5);background:var(--n0);border:none;border-radius:var(--r3);cursor:pointer;transition:all 0.15s ease;}.buy-modal__analogs-toggle:hover{background:var(--n1);color:var(--n9);}.buy-modal__analogs-list{margin-top:8px;display:flex;flex-direction:column;gap:6px;}.analog-item{display:flex;align-items:center;gap:12px;padding:10px 12px;text-decoration:none;background:#fff;border:1px solid var(--n2);border-radius:var(--r2);transition:all 0.15s ease;}.analog-item:hover{border-color:var(--g5);background:#f8fbff;}.analog-item__name{flex:1;font-size:14px;color:var(--n9);}.analog-item__vendor{font-size:12px;color:var(--n4);}.analog-item__price{font-size:14px;font-weight:600;color:var(--g5);}/* ========================================================================== Карточка товара (дополнения) ========================================================================== */.product-card{position:relative;}.product-card .form-icon{position:absolute;top:8px;left:8px;display:flex;align-items:center;gap:4px;padding:4px 8px;background:rgba(255, 255, 255, 0.9);border-radius:var(--r1);font-size:11px;color:var(--n5);z-index:2;}.product-card .form-icon img{width:14px;height:14px;opacity:0.7;}.product-card .variant-info{position:absolute;top:8px;right:8px;padding:4px 8px;background:rgba(0, 102, 204, 0.1);border-radius:var(--r1);font-size:11px;font-weight:500;color:var(--g5);z-index:2;}.product-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:12px;}.product-card-price{font-size:16px;font-weight:700;color:var(--n9);}.product-card-action{flex-shrink:0;}.product-card-vendor{font-size:12px;color:var(--n4);margin-top:4px;}/* ========================================================================== Toast уведомления ========================================================================== */.buy-toast{position:fixed;bottom:20px;right:20px;padding:14px 24px;font-size:14px;font-weight:500;color:#fff;background:#43a047;border-radius:var(--r3);box-shadow:0 4px 16px rgba(0, 0, 0, 0.2);z-index:10001;animation:toast-in 0.3s ease;}.buy-toast--error{background:var(--err);}.buy-toast.fade-out{animation:toast-out 0.3s ease forwards;}@keyframes toast-in{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}@keyframes toast-out{from{opacity:1;transform:translateY(0);}to{opacity:0;transform:translateY(20px);}}/* ========================================================================== Предупреждения о совместимости ========================================================================== */.interaction-warning-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:10002;display:flex;align-items:center;justify-content:center;padding:20px;animation:toast-in .3s ease;}.interaction-warning-modal{background:#fff;border-radius:16px;max-width:520px;width:100%;box-shadow:0 16px 48px rgba(0,0,0,.2);overflow:hidden;}.interaction-warning-header{display:flex;align-items:center;gap:10px;padding:16px 20px;background:#FFF8E1;border-bottom:1px solid #FFE082;font-weight:600;font-size:16px;}.interaction-warning-icon{font-size:22px;}.interaction-warning-close{margin-left:auto;background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0 4px;line-height:1;}.interaction-warning-close:hover{color:#333;}.interaction-warning-body{padding:16px 20px;max-height:320px;overflow-y:auto;}.interaction-warning-item{padding:12px 16px;margin-bottom:12px;background:#fafafa;border-radius:8px;border-left:4px solid #FFC107;}.interaction-warning-item:last-child{margin-bottom:0;}.interaction-warning-severity{font-weight:700;font-size:13px;margin-bottom:4px;}.interaction-warning-drugs{font-weight:600;font-size:14px;color:#333;margin-bottom:6px;}.interaction-warning-text{font-size:13px;color:#555;line-height:1.5;}.interaction-warning-footer{padding:16px 20px;border-top:1px solid #eee;text-align:center;}.interaction-warning-disclaimer{font-size:12px;color:#999;margin-bottom:12px;}.interaction-warning-btn{background:var(--c4, #4CAF50);color:#fff;border:none;padding:10px 32px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;}.interaction-warning-btn:hover{opacity:.9;}/* Предупреждения на странице корзины */.cart-interaction-warnings{margin:16px 0;}.cart-iw-item{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border-radius:10px;margin-bottom:8px;font-size:14px;}.cart-iw-item--danger{background:#FFEBEE;border-left:4px solid #e53935;}.cart-iw-item--warning{background:#FFF3E0;border-left:4px solid #FF9800;}.cart-iw-item--caution{background:#FFF8E1;border-left:4px solid #FFC107;}.cart-iw-item--info{background:#E3F2FD;border-left:4px solid #2196F3;}.cart-iw-icon{font-size:20px;flex-shrink:0;}.cart-iw-text{line-height:1.5;}.cart-iw-drugs{font-weight:600;}.cart-iw-desc{color:#555;font-size:13px;margin-top:4px;}/* ========================================================================== Адаптив ========================================================================== */@media (max-width:540px){.buy-modal{padding:0;align-items:flex-end;}.buy-modal__content{max-width:100%;max-height:90vh;border-radius:20px 20px 0 0;}.buy-modal.active .buy-modal__content{transform:translateY(0);}.buy-modal__header{flex-direction:column;align-items:center;text-align:center;}.buy-modal__photo{width:120px;height:120px;}.buy-modal__dropdowns{justify-content:center;}.variant-row{flex-wrap:wrap;}.variant-row__label{width:100%;margin-bottom:8px;}.variant-row__price{text-align:left;}.buy-modal__selected-variant{flex-direction:column;text-align:center;}.selected-variant__price{margin-bottom:12px;}.buy-btn{width:100%;}.qty-control{width:100%;justify-content:center;}}/* Карточки в каталоге — компактная кнопка */.catalog-v2-card .buy-btn{padding:6px 12px;font-size:13px;min-width:70px;}.catalog-v2-card .qty-control{transform:scale(0.9);transform-origin:right center;}.catalog-v2-card .qty-btn{width:28px;height:28px;font-size:14px;}.catalog-v2-card .qty-value{min-width:24px;font-size:13px;}/* Кнопка "Оформить" рядом с qty-control */.qty-checkout-btn{display:flex;align-items:center;justify-content:center;height:32px;padding:0 16px;font-size:13px;font-weight:600;color:#fff;background:#4CAF50;border:none;border-radius:var(--r1);text-decoration:none;cursor:pointer;transition:all 0.15s ease;margin-left:4px;white-space:nowrap;}.qty-checkout-btn:hover{background:#43A047;color:#fff;text-decoration:none;}.qty-checkout-btn:active{transform:scale(0.97);}