/* Desire Gym Single Product CSS */

.dgymsige-container { display: flex; flex-wrap: nowrap; gap: 40px; font-family: 'Poppins', sans-serif; color: #333; align-items: flex-start; }
.dgymsige-left { width: 45%; flex-shrink: 0; }
.dgymsige-right { width: 55%; flex-grow: 1; }

.dgymsige-main-img { margin-bottom: 15px; display: flex; align-items: center; justify-content: center; height: 450px; background: #fff;}
.dgymsige-main-img img { max-height: 100%; max-width: 100%; object-fit: contain; }

.dgymsige-gallery-wrap { position: relative; width: 100%; display: flex; align-items: center; }
.dgymsige-gallery { display: flex; gap: 10px; width: 100%; overflow-x: auto; scroll-behavior: smooth; scrollbar-width: none; -ms-overflow-style: none; padding: 2px; }
.dgymsige-gallery::-webkit-scrollbar { display: none; }
.dgymsige-thumb { flex: 0 0 calc(25% - 7.5px); box-sizing: border-box; border: 1px solid #eaeaea; cursor: pointer; transition: 0.3s; height: 90px; display: flex; align-items: center; justify-content: center; background: #fff; padding: 4px; }
.dgymsige-thumb img { max-height: 100%; max-width: 100%; object-fit: contain; }
.dgymsige-thumb.active { border: 1px solid #da2128 !important; }

.dgymsige-gal-arrow { position: absolute; top: 50%; transform: translateY(-50%); background: transparent; border: none; color: #222529; cursor: pointer; z-index: 2; padding: 0; transition: 0.2s; display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; }
.dgymsige-gal-arrow svg { width: 24px; height: 24px; stroke: currentColor; stroke-width: 3; fill: none; stroke-linecap: round; stroke-linejoin: round;}
.dgymsige-gal-arrow:hover { color: #da2128; background-color: transparent; }
.dgymsige-gal-arrow.prev { left: -15px; }
.dgymsige-gal-arrow.next { right: -15px; }

.dgymsige-header { display: flex; justify-content: space-between;  gap: 15px; margin-bottom: 10px; }
.dgymsige-container .dgymsige-right h1.dgymsige-title { font-size: 30px !important; font-weight: 700 !important; margin: 0px 0px 5px 0px !important; color: #333333 !important; line-height: 1.2 !important; font-family: 'Poppins', sans-serif !important; }
.dgymsige-nav { display: flex; gap: 6px; }
.dgymsige-nav-btn { width: 28px; height: 28px; border: 1px solid #ddd; border-radius: 50%; display: flex; align-items: center; justify-content: center; text-decoration: none; color: #666; transition: 0.3s; font-size: 12px; background: #fff; }
.dgymsige-nav-btn:hover { border-color: #da2128; color: #da2128; }

.dgymsige-rating { display: flex; gap: 2px; margin-bottom: 15px; }
.dgymsige-rating svg { width: 14px; height: 14px; }

.dgymsige-price { font-size: 24px; font-weight: 600; color: #222529; margin-bottom: 20px; font-family: Poppins, sans-serif; letter-spacing: -0.48px; line-height: 24px; }

.dgymsige-container .dgymsige-right .dgymsige-desc,
.dgymsige-container .dgymsige-right .dgymsige-desc p { margin-bottom: 15px !important; font-size: 14px !important; color: #777777 !important; line-height: 24px !important; font-family: 'Open Sans', sans-serif !important; }
.dgymsige-container .dgymsige-right .dgymsige-desc p:last-child { margin-bottom: 0; }
.dgymsige-desc ul { padding-left: 18px; margin: 0; }
.dgymsige-desc li { margin-bottom: 6px; }

.dgymsige-container .dgymsige-right .dgymsige-meta-top { font-size: 11.9994px !important; color: #222529 !important; line-height: 24px !important; margin-bottom: 15px !important; font-family: 'Open sans', sans-serif !important; }
.dgymsige-container .dgymsige-right .dgymsige-meta-top strong { font-weight: 600 !important; color: #222529 !important; }
.dgymsige-container .dgymsige-right .dgymsige-meta-top span { font-weight: 400 !important; color: #777 !important; }
.dgymsige-container .dgymsige-right .dgymsige-meta-top a { color: #777 !important; text-decoration: none !important; font-weight: 400 !important; transition: 0.3s; }
.dgymsige-container .dgymsige-right .dgymsige-meta-top a:hover { color: #222529 !important; }

.dgymsige-swatches-wrap { margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid #eaeaea; }
.dgymsige-attr-row { display: flex; align-items: flex-start; gap: 20px; margin-bottom: 10px; }
.dgymsige-label { font-weight: 700; text-transform: uppercase; font-size: 14px; color: #111; margin: 0; padding-top: 6px; min-width: 65px; }
.dgymsige-swatches-col { display: flex; flex-direction: column; align-items: flex-start; }
.dgymsige-swatches { display: flex; gap: 10px; flex-wrap: wrap; }
.dgymsige-swatch { padding: 6px 18px; background: #fff; color: #555; font-size: 13px; font-weight: 400; cursor: pointer; border: 1px solid #ddd; transition: 0.1s; } 
.dgymsige-swatch.active { background: #222529; color: #fff; border-color: #222529; }
.dgymsige-clear-btn { display: none; background: #f5f5f5; color: #777; font-size: 11px; padding: 4px 12px; cursor: pointer; border: none; margin-top: 8px; text-transform: uppercase; transition: 0.1s; } 
.dgymsige-clear-btn:hover { background: #ddd; color: #333; }
.dgymsige-clear-btn.show { display: inline-block; }

.dgymsige-stock-bar { display: inline-flex; align-items: center; background: #f3f3f3; border-radius: 20px; overflow: hidden; height: 27px; font-size: 11px; font-weight: 600; color: #777; padding-right: 30px; line-height: 1.6875rem; }
.dgymsige-stock-bar::before { content: ''; width: 24px; height: 100%; background: #2ecc71; margin-right: 15px; display: inline-block; }

.dgymsige-stock-bar.out-of-stock { background: #f3f3f3; color: #777; } 
.dgymsige-stock-bar.out-of-stock::before { background: #e12d2d !important; } 

.dgymsige-container .dgymsige-add-btn.disabled,
.dgymsige-container .dgymsige-add-btn:disabled {
    background: #aaa !important; 
    color: #fff !important; 
    cursor: not-allowed !important; 
    pointer-events: none !important; 
}
.dgymsige-container .dgymsige-add-btn.disabled:hover,
.dgymsige-container .dgymsige-add-btn:disabled:hover {
    background: #aaa !important; 
}

@keyframes dgymSlideDown { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }

.dgymsige-container .dgymsige-actions { display: flex; align-items: stretch; gap: 15px; margin-bottom: 20px; }

.dgymsige-container .dgymsige-qty-wrap { display: flex; border: 1px solid #eaeaea !important; height: 42px !important; background: #fff !important; border-radius: 2px !important; overflow: hidden !important; box-sizing: border-box !important; }

.dgymsige-container .dgymsige-qty-btn { width: 35px !important; border: none !important; background: transparent !important; cursor: pointer !important; font-size: 18px !important; font-weight: 400 !important; color: #333 !important; transition: 0.2s !important; outline: none !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 0 !important; margin: 0 !important; box-shadow: none !important; }

.dgymsige-container .dgymsige-qty-btn:hover { background: #f5f5f5 !important; color: #da2128 !important; }

.dgymsige-container .dgymsige-qty-input { width: 45px !important; border: none !important; border-left: 1px solid #eaeaea !important; border-right: 1px solid #eaeaea !important; text-align: center !important; font-weight: 700 !important; font-size: 15px !important; color: #222 !important; background: transparent !important; padding: 0 !important; margin: 0 !important; outline: none !important; box-shadow: none !important; height: 100% !important; border-radius: 0 !important; -moz-appearance: textfield; appearance: textfield; }
.dgymsige-container .dgymsige-qty-input::-webkit-outer-spin-button, 
.dgymsige-container .dgymsige-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.dgymsige-container .dgymsige-add-btn { background: #222529 !important; color: #fff !important; padding: 0 30px !important; height: 42px !important; border: none !important; font-weight: 700 !important; cursor: pointer !important; text-transform: uppercase !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 10px !important; font-size: 13px !important; border-radius: 2px !important; transition: 0.3s !important; flex-grow: 1 !important; max-width: max-content !important; margin: 0 !important; line-height: 1 !important; box-shadow: none !important; }

.dgymsige-container .dgymsige-add-btn:hover { background: #da2128 !important; }
.dgymsige-container .dgymsige-add-btn svg { width: 16px !important; height: 16px !important; margin: 0 !important; fill: transparent !important;}

.dgymsige-wa-btn { background: #2ecc71; color: #fff; display: inline-flex; align-items: center; justify-content: center; height: 42px; text-decoration: none; font-weight: 700; border-radius: 2px; transition: 0.3s; padding: 0 25px; text-transform: uppercase; margin-bottom: 25px; font-size: 13px; box-shadow: none; width: auto;}
.dgymsige-wa-btn:hover { background: #27ae60; color: #fff; }
.dgymsige-wa-btn svg { margin-right: 8px; }

.dgymsige-bottom-actions { display: flex; align-items: center; gap: 12px; padding-top: 20px; border-top: 1px solid #eaeaea; }

.dgymsige-social-btn { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: 2px solid #eaeaea; border-radius: 50%; color: #222; text-decoration: none; transition: 0.3s; background: #fff; }
.dgymsige-social-btn svg { width: 14px; height: 14px; fill: currentColor; transition: 0.3s; }

.dgymsige-social-btn.fb-btn:hover { background-color: #3b5a9a; border-color: #3b5a9a; color: #fff; }
.dgymsige-social-btn.fb-btn:hover svg { fill: #fff; }

.dgymsige-social-btn.email-btn:hover { background-color: #dd4b39; border-color: #dd4b39; color: #fff; }
.dgymsige-social-btn.email-btn:hover svg { fill: #fff; }

.dgymsige-wc-notices { margin-bottom: 20px; width: 100%; font-family: 'Poppins', sans-serif;}

.dgymsige-wc-notices .woocommerce-message { 
    background: transparent !important; 
    border: none !important; 
    color: #222529 !important; 
    padding: 0 !important; 
    list-style: none !important; 
    font-size: 15px !important; 
    box-shadow: none !important; 
    margin-bottom: 20px !important;
    display: flex !important;
    align-items: center !important;
}

.dgymsige-wc-notices .woocommerce-message .button { display: none !important; }

.dgymsige-wc-notices .woocommerce-message::before { 
    content: '' !important;
    display: inline-block !important;
    width: 18px !important;
    height: 18px !important;
    margin-right: 10px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300c853' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
}

.dgymsige-wc-notices .woocommerce-error { background: #fff; border-top: 3px solid #da2128; color: #333; padding: 15px 20px; list-style: none; font-size: 14px; box-shadow: 0 2px 6px rgba(0,0,0,0.05); margin-bottom: 20px;}
.dgymsige-wc-notices .woocommerce-error::before { color: #da2128; }

.dgymsige-view-cart-btn { display: inline-flex; align-items: center; justify-content: center; background: #f5f5f5; color: #333; font-weight: 700; text-transform: uppercase; height: 42px; padding: 0 25px; border-radius: 2px; text-decoration: none; transition: 0.3s; width: auto; min-width: 150px; font-size: 13px; margin-bottom: 25px; margin-top: -10px; }
.dgymsige-view-cart-btn:hover { background: #e0e0e0; color: #111; }

@media (max-width: 992px) {
    .dgymsige-container { flex-wrap: wrap; }
    .dgymsige-left, .dgymsige-right { width: 100%; }
    .dgymsige-main-img { height: 350px; }
    .dgymsige-container .dgymsige-qty-input { width: 30px !important; }
    .dgymsige-wa-btn { padding: 0 15px; }
}