/* woo-prod.css === СТИЛИ ДЕТАЛЬНОЙ СТРАНИЦЫ ТОВАРА === */

/* === ОДИНОЧНАЯ СТРАНИЦА ТОВАРА === */
.single-product-wrapper { padding: 1.5rem 0; background: var(--lighter-color); }

/* Хлебные крошки */
.breadcrumbs { margin-bottom: 1.5rem; }
.breadcrumbs .woocommerce-breadcrumb { font-size: 0.875rem; color: var(--text-muted); }
.breadcrumbs .woocommerce-breadcrumb a { color: var(--text-light); text-decoration: none; transition: color 0.3s ease; }
.breadcrumbs .woocommerce-breadcrumb a:hover { color: var(--primary-color); }

/* Основной блок товара */
.product-details { background: var(--white-color); border-radius: var(--border-radius); padding: 2rem; box-shadow: var(--shadow); margin-bottom: 2rem; }
.product-details__main { margin-bottom: 2rem; }

/* === СТРУКТУРА ТОВАРА === */
.product-layout { display: flex; gap: 2rem; }
.product-layout__gallery { flex: 0 0 calc(33.333% - 1rem); }
.product-layout__info { flex: 1; display: flex; gap: 2rem; }
.product-info-left { flex: 1; }
.product-info-right { flex: 1; }

/* === ГАЛЕРЕЯ === */
.product-details__gallery { position: sticky; top: 1rem; }
.product-gallery { display: flex; flex-direction: column; gap: 0.75rem; }
.main-image { position: relative; aspect-ratio: 1; overflow: hidden; cursor: zoom-in; background: var(--light-color); border-radius: var(--border-radius); }
.main-image-img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; }
.main-image:hover .main-image-img { transform: scale(1.05); }
.thumbnails { display: flex; gap: 0.5rem; margin-top: 0.75rem; flex-wrap: wrap; }
.thumbnail { position: relative; border-radius: var(--border-radius-sm); overflow: hidden; cursor: pointer; border: 2px solid transparent; transition: all 0.3s ease; flex-shrink: 0; }
.thumbnail.active { border-color: var(--primary-color); }
.thumbnail:hover { border-color: var(--primary-color); opacity: 0.8; }
.thumbnail img { width: 60px; height: 60px; object-fit: cover; display: block; }

/* === ЛЕВАЯ ЧАСТЬ === */
.product-details__header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 0.75rem; gap: 1rem; }
.product-details__category-link { display: inline-block; padding: 0.25rem 0.75rem; background: var(--light-color); color: var(--text-light); text-decoration: none; border-radius: 1rem; font-size: 0.875rem; transition: all 0.3s ease; }
.product-details__category-link:hover { background: var(--primary-color); color: var(--white-color); }
.product-details__badges { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.product-badge { padding: 0.25rem 0.75rem; border-radius: 1rem; font-size: 0.75rem; font-weight: 500; text-transform: uppercase; }
.product-badge--sale { background: var(--danger-color); color: var(--white-color); }
.product-badge--featured { background: var(--warning-color); color: var(--dark-color); }
.product-badge--out-of-stock { background: var(--secondary-color); color: var(--white-color); }
.product-details__title { font-size: 1.375rem; font-weight: 500; color: var(--dark-color); margin-bottom: 0.75rem; line-height: 1.3; }
.product-details__availability-main { margin-bottom: 1rem; }
.product-details__availability-main .availability { display: inline-flex; align-items: center; gap: 0.5rem; font-weight: 500; font-size: 0.875rem; }
.product-details__availability-main .availability--in-stock { color: var(--success-color); }
.product-details__availability-main .availability--out-of-stock { color: var(--danger-color); }
.product-details__meta-info { margin-bottom: 1rem; padding: 0.75rem; background: var(--light-color); border-radius: var(--border-radius-sm); display: flex; align-items: flex-start; gap: 1rem; }
.product-details__meta-info .product-details__sku, .product-details__meta-info .product-details__brand { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.5rem; font-size: 0.875rem; }
.product-details__meta-info .product-details__sku:last-child, .product-details__meta-info .product-details__brand:last-child { margin-bottom: 0; }
.product-details__meta-info .label { color: var(--text-muted); font-weight: 500; }
.product-details__meta-info .value { color: var(--dark-color); }
.product-details__meta-info .value-link { color: var(--primary-color); text-decoration: none; }
.product-details__meta-info .value-link:hover { color: var(--primary-dark); text-decoration: underline; }
.product-details__excerpt { margin-bottom: 1rem; padding: 1rem; background: var(--light-color); border-radius: var(--border-radius); border-left: 4px solid var(--primary-color); }
.product-details__excerpt p { color: var(--text-light); line-height: 1.6; margin-bottom: 0.75rem; font-size: 0.9rem; }
.product-details__excerpt p:last-of-type { margin-bottom: 0; }
.characteristics-link { display: inline-flex; align-items: center; gap: 0.5rem; color: var(--primary-color); text-decoration: none; font-weight: 500; font-size: 0.9rem; margin-top: 0.5rem; transition: color 0.3s ease; }
.characteristics-link:hover { color: var(--primary-dark); text-decoration: underline; }
.characteristics-link i { font-size: 0.8rem; }

/* === ПРАВАЯ ЧАСТЬ === */
.product-info-right { background: var(--light-color); padding: 1.5rem; border-radius: var(--border-radius); }
.product-details__price { margin-bottom: 1rem; text-align: center; }
.product-details__price .price { font-size: 2rem; font-weight: 600; color: var(--primary-color); margin: 0; }
.product-details__price .price del { color: var(--text-muted); font-weight: 400; font-size: 1.25rem; margin-right: 0.5rem; }
.product-details__cart { margin-bottom: 1.5rem; }
.variations { width: 100%; border-collapse: collapse; margin-bottom: 1rem; }
.variations th { text-align: left; padding: 0.5rem 0; font-weight: 500; color: var(--dark-color); vertical-align: top; font-size: 0.9rem; }
.variations td { padding: 0.5rem 0; }
.variations select { width: 100%; padding: 0.75rem; border: 2px solid var(--border-color); border-radius: var(--border-radius-sm); background: var(--white-color); font-size: 0.9rem; transition: border-color 0.3s ease; }
.variations select:focus { outline: none; border-color: var(--primary-color); box-shadow: 0 0 0 3px rgba(0,191,165,0.1); }
.cart-state-initial .quantity { display: none; }
.cart-state-initial .single_add_to_cart_button { width: 100%; height: 3rem; padding: 0 2rem; background: var(--primary-color); color: var(--white-color); border: none; border-radius: var(--border-radius-sm); font-weight: 500; transition: all 0.3s ease; cursor: pointer; font-size: 1rem; }
.cart-state-initial .single_add_to_cart_button:hover:not(.disabled) { background: var(--primary-dark); transform: translateY(-1px); }
.cart-state-initial .single_add_to_cart_button.disabled, .cart-state-initial .single_add_to_cart_button:disabled { background: var(--secondary-color); cursor: not-allowed; opacity: 0.6; }
.cart-state-added { display: none; }
.cart-state-added.active { display: block; }
.cart-added-controls { display: flex; gap: 0.75rem; align-items: stretch; }
.cart-status-btn { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.25rem; padding: 0.75rem 1rem; background: #4caf50; color: var(--white-color); border: none; border-radius: var(--border-radius-sm); font-weight: 500; text-decoration: none; transition: all 0.3s ease; cursor: pointer; min-height: 4rem; }
.cart-status-btn:hover { background: #45a049; color: var(--white-color); text-decoration: none; transform: translateY(-1px); box-shadow: 0 4px 8px rgba(76, 175, 80, 0.3); }
.cart-status-btn .status-line { display: flex; align-items: center; gap: 0.5rem; font-size: 0.95rem; line-height: 1.2; }
.cart-status-btn .status-line i { font-size: 0.875rem; }
.cart-status-btn .action-line { font-size: 0.875rem; opacity: 0.9; line-height: 1.2; }
.quantity-selector-added { display: flex; align-items: center; border: 2px solid var(--border-color); border-radius: var(--border-radius-sm); overflow: hidden; background: var(--white-color); height: 4rem; }
.qty-btn-added { width: 3rem; height: 100%; border: none; background: #e3f2fd; color: #1976d2; cursor: pointer; transition: all 0.3s ease; display: flex; align-items: center; justify-content: center; font-size: 1rem; }
.qty-btn-added:hover { background: #bbdefb; }
.qty-btn-added:active { background: #90caf9; }
.qty-btn-added i { font-size: 0.875rem; }
.qty-added { width: 70px; height: 100%; border: none; text-align: center; font-weight: 600; font-size: 1rem; background: var(--white-color); color: var(--dark-color); }
.qty-added:focus { outline: none; }
.woocommerce-variation-add-to-cart { display: flex; gap: 1rem; align-items: center; flex-direction: row; flex-wrap: nowrap; }
.quantity { position: relative; }
.quantity input.qty { width: 100%; height: 3rem; border: 2px solid var(--border-color); border-radius: var(--border-radius-sm); text-align: center; font-weight: 500; font-size: 1rem; }
.quantity input.qty:focus { outline: none; border-color: var(--primary-color); }
.single_add_to_cart_button { width: 100%; height: 3rem; padding: 0 2rem; background: var(--primary-color); color: var(--white-color); border: none; border-radius: var(--border-radius-sm); font-weight: 500; transition: all 0.3s ease; cursor: pointer; font-size: 1rem; }
.single_add_to_cart_button:hover:not(.disabled) { background: var(--primary-dark); transform: translateY(-2px); }
.single_add_to_cart_button.disabled, .single_add_to_cart_button:disabled { background: var(--secondary-color); cursor: not-allowed; opacity: 0.6; }
.reset_variations { display: none!important; }
.product-details__actions { margin-bottom: 1.5rem; }
.action-buttons { display: flex; gap: 0.75rem; }
.action-btn { flex: 1; display: flex; align-items: center; justify-content: center; gap: 0.5rem; padding: 0.75rem; background: var(--white-color); border: 1px solid var(--border-color); border-radius: var(--border-radius-sm); color: var(--text-light); text-decoration: none; font-size: 0.875rem; transition: all 0.3s ease; cursor: pointer; }
.action-btn:hover { background: var(--border-color); color: var(--dark-color); transform: translateY(-1px); }
.action-btn.active { background: var(--primary-color); color: var(--white-color); border-color: var(--primary-color); }
.product-details__additional-info { margin-bottom: 1.5rem; padding: 1rem; background: var(--white-color); border-radius: var(--border-radius); }
.info-list { display: flex; flex-direction: column; gap: 0.5rem; }
.info-item { display: flex; align-items: center; gap: 0.5rem; color: var(--text-light); font-size: 0.875rem; }
.info-item i { color: var(--primary-color); width: 1rem; font-size: 0.875rem; }

/* === БЛОКИ КОНТЕНТА === */
.product-details__content { margin-bottom: 2rem; }
.product-content-block { background: var(--white-color); border-radius: var(--border-radius); box-shadow: var(--shadow); margin-bottom: 1.5rem; overflow: hidden; }
.product-content-block__title { font-size: 1.25rem; font-weight: 500; color: var(--white-color); background: var(--primary-color); margin: 0; padding: 1rem 1.5rem; }
.product-content-block__content { padding: 1.5rem; }
.woocommerce-product-attributes { width: 100%; border-collapse: collapse; }
.woocommerce-product-attributes-item { margin-bottom: 1.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--border-color); }
.woocommerce-product-attributes-item:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.woocommerce-product-attributes-item__label { font-size: 0.875rem; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 0.75rem; display: block; }
.woocommerce-product-attributes-item__value { color: var(--dark-color); line-height: 1.6; }
.product-video-wrapper { position: relative; width: 100%; padding-bottom: 56.25%; background: var(--light-color); border-radius: var(--border-radius); overflow: hidden; margin-bottom: 1rem; }
.product-video-wrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; }
.product-before-after { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin-top: 1rem; }
.product-before-after__item { position: relative; border-radius: var(--border-radius); overflow: hidden; background: var(--light-color); aspect-ratio: 1; }
.product-before-after__label { position: absolute; top: 0.75rem; left: 0.75rem; background: var(--primary-color); color: var(--white-color); padding: 0.375rem 0.75rem; border-radius: var(--border-radius-sm); font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; z-index: 2; }
.product-before-after__label--after { background: var(--success-color); }
.product-before-after__image { width: 100%; height: 100%; object-fit: cover; display: block; transition: var(--transition); }
.product-before-after__item:hover .product-before-after__image { transform: scale(1.05); }

/* === СЕКЦИЯ ТОВАРОВ === */
.section-spacing { margin-bottom: 3rem; }
.section-header { text-align: center; margin-bottom: 1.5rem; }
.section-title { font-size: 1.75rem; font-weight: 500; color: var(--dark-color); margin-bottom: 0.5rem; }
.section-subtitle { color: var(--text-muted); font-size: 1rem; margin: 0; }

/* PLACEHOLDER */
.product--placeholder { opacity: 0.6; }
.product--placeholder .product__inner { border: 2px dashed var(--border-color); background: var(--light-color); }
.product--placeholder .product__image--placeholder { background: linear-gradient(135deg, #f5f5f5 0%, #e0e0e0 100%); display: flex; align-items: center; justify-content: center; min-height: 250px; aspect-ratio: 1; border-radius: var(--border-radius) var(--border-radius) 0 0; }
.product--placeholder .placeholder-icon { font-size: 3rem; color: var(--border-color); opacity: 0.5; transition: all 0.3s ease; }
.product--placeholder .product__content { text-align: center; padding: 1.5rem 1rem; justify-content: center; }
.product--placeholder .placeholder-text { font-size: 0.875rem; color: var(--text-muted); font-style: italic; line-height: 1.4; }
.product--placeholder:hover .product__inner { border-color: var(--primary-color); background: #f8f9fa; }
.product--placeholder:hover .placeholder-icon { transform: scale(1.1); opacity: 0.7; }

/* === АДАПТИВНОСТЬ === */
@media (max-width: 1199px) {
.product-layout { gap: 1.5rem; }
.product-layout__info { gap: 1.5rem; }
}

@media (max-width: 991px) {
.product-layout { flex-direction: column; }
.product-layout__gallery { flex: none; }
.product-layout__info { flex-direction: column; gap: 1.5rem; }
.product-details__gallery { position: static; }
.product-details { padding: 1.5rem; }
.product-details__title { font-size: 1.25rem; }
.action-buttons { flex-wrap: wrap; }
.action-btn .btn-text { display: none; }
.section-title { font-size: 1.5rem; }
.product--placeholder .product__image--placeholder { min-height: 200px; }
.product--placeholder .placeholder-icon { font-size: 2.5rem; }
}

@media (max-width: 767px) {
.single-product-wrapper { padding: 1rem 0; }
.product-details { padding: 1rem; }
.product-layout { gap: 1rem; }
.product-layout__info { gap: 1rem; }
.product-info-right { padding: 1rem; }
.product-details__price .price { font-size: 1.5rem; }
.thumbnails { gap: 0.375rem; }
.thumbnail img { width: 50px; height: 50px; }
.section-spacing { margin-bottom: 2rem; }
.cart-added-controls { gap: 0.5rem; }
.cart-status-btn { min-height: 3.5rem; padding: 0.5rem 0.75rem; }
.quantity-selector-added { height: 3.5rem; }
.qty-btn-added { width: 2.5rem; }
.qty-added { width: 60px; font-size: 0.9rem; }
.product-before-after { grid-template-columns: 1fr; gap: 0.75rem; }
.product--placeholder .product__image--placeholder { min-height: 180px; }
.product--placeholder .placeholder-icon { font-size: 2rem; }
}

@media (max-width: 575px) {
.product-layout { gap: 0.75rem; }
.product-layout__info { gap: 0.75rem; }
.product-info-right { padding: 0.75rem; }
.action-buttons { flex-direction: column; }
.action-btn { min-width: auto; }
.thumbnails { flex-wrap: wrap; }
.cart-added-controls { flex-direction: column; align-items: stretch; }
.cart-status-btn { min-height: 3rem; }
.quantity-selector-added { height: 3rem; justify-content: center; }
.product--placeholder .product__image--placeholder { min-height: 220px; }
.product--placeholder .placeholder-icon { font-size: 2.5rem; }
}




.woocommerce-variation-price { font-size:2rem;font-weight:600; }
.woocommerce-variation-price .price { display:flex;background:rgba(0,191,165,1);color:#fff;padding:0.2rem 1rem;border-radius:1rem;width:fit-content ; }
.woo-variation-swatches .product-details__price { font-size:1rem;color:#777; }


.woocommerce-variation-price { display:none; }

.product-details__price .price    { display:flex;background:rgba(0,191,165,1);color:#fff;padding:0.2rem 1rem;border-radius:1rem;width:fit-content ; }

















/* Ограничение краткого описания двумя строками */
.product-details__excerpt { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; padding-bottom: 0.3rem; }
.product-details__excerpt p { margin-bottom: 0.75rem; }







/* Wishlist Button Styles */

/* Активное состояние кнопки на детальной странице */
.action-btn--wishlist.active{background:#ffe5e5;border-color:#ff4757;}
.action-btn--wishlist.active i{color:#ff4757;}
.action-btn--wishlist.active .btn-text{color:#ff4757;}

/* Анимация при клике */
.action-btn--wishlist{transition:all 0.3s ease;}
.action-btn--wishlist:active{transform:scale(0.95);}
.action-btn--wishlist.active i{animation:heartbeat 0.6s ease;}

@keyframes heartbeat{0%{transform:scale(1);} 25%{transform:scale(1.3);} 50%{transform:scale(1.1);} 100%{transform:scale(1);}}

/* Уведомления */
.wishlist-notification{position:fixed;top:80px;right:20px;background:#fff;padding:16px 24px;border-radius:12px;box-shadow:0 4px 16px rgba(0,0,0,0.15);display:flex;align-items:center;gap:12px;z-index:9999;opacity:0;transform:translateX(400px);transition:all 0.3s ease;}
.wishlist-notification.show{opacity:1;transform:translateX(0);}
.wishlist-notification i{font-size:20px;}
.wishlist-notification--add i{color:#00bfa5;}
.wishlist-notification--remove i{color:#e74c3c;}
.wishlist-notification span{font-size:14px;font-weight:600;color:#2c3e50;}

/* Mobile */
@media (max-width:768px){
.wishlist-notification{top:60px;right:10px;left:10px;padding:12px 16px;}
.wishlist-notification span{font-size:13px;}
}