/* Basic CSS for PT Fitmo Core Shortcodes */
/* Global Styles & Utilities */

/* Toast Notification */
.ptfc-toast-container {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 999999;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.ptfc-toast {
    background: #10b981;
    color: #fff;
    padding: 12px 20px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 10px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    transform: translateX(120%);
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.ptfc-toast.show {
    transform: translateX(0);
}
.ptfc-toast svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

/* Hide WooCommerce "View Cart" link after adding to cart */
.ptfc-modal-content a.added_to_cart,
.ptfc-modal-content .woocommerce-message a,
.ptfc-qv-actions .added_to_cart,
a.added_to_cart.wc-forward { 
    display: none !important; 
}

/* Utilities added for Shortcodes Refactor */
.ptfc-d-none { display: none; }
.ptfc-flex-center-gap10 { display: flex; align-items: center; gap: 10px; }
.ptfc-mt-12-center { margin-top: 12px; text-align: center; }
.ptfc-color-success-fw500 { color: #059669; font-weight: 500; }
.ptfc-ml-5 { margin-left: 5px; }

/* Breadcrumb Styles */
.woocommerce-breadcrumb, 
.breadcrumb, 
nav.woocommerce-breadcrumb {
    padding-left: 15px !important;
    padding-right: 15px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    color: #000000 !important;
}
.woocommerce-breadcrumb a, 
.breadcrumb a, 
nav.woocommerce-breadcrumb a {
    color: #000000 !important;
    font-weight: 600 !important;
}
.woocommerce-breadcrumb .divider,
.breadcrumb .divider {
    color: #000000 !important;
    opacity: 0.5;
}

@media (max-width: 768px) {
    .woocommerce-breadcrumb, .breadcrumb { padding-left: 15px !important; padding-right: 15px !important; }
    
    /* Resize gallery arrows on mobile (Product Page only) */
    .single-product .flickity-prev-next-button { width: 40px !important; height: 40px !important; }
    .single-product .flickity-prev-next-button svg { width: 20px !important; height: 20px !important; top: 25% !important; left: 25% !important; }
    
    /* Fix quantity input alignment */
    .single-product .ptfc-qty-wrapper { display: inline-flex !important; justify-content: flex-start; width: auto !important; margin-bottom: 15px; }
    .single-product .ptfc-qty-btn { flex: none !important; width: 40px !important; max-width: 40px !important; }
    .single-product .ptfc-qty-input { flex: none !important; width: 50px !important; max-width: 50px !important; text-align: center; }
    
    /* Make Add to Cart and Buy Now buttons same size */
    .single-product .ptfc-sp-order-btn,
    .single-product .ptfc-sp-buynow-btn { 
        width: 100% !important; 
        min-height: 48px !important; 
        display: flex !important; 
        align-items: center; 
        justify-content: center; 
    }
}

/* ==========================================
   CUSTOM CHECKOUT STYLES
   ========================================== */
.ptfc-checkout-wrapper {
    font-family: 'Plus Jakarta Sans', sans-serif;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}
.ptfc-checkout-title-wrap {
    margin-bottom: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
.ptfc-checkout-title-left {
    display: flex;
    align-items: center;
    gap: 10px;
}
.ptfc-checkout-continue-btn {
    font-size: 14px;
    color: var(--ptfc-primary);
    text-decoration: none;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 5px;
}
.ptfc-checkout-layout {
    display: flex;
    gap: 30px;
    align-items: flex-start;
}
.ptfc-checkout-left {
    flex: 1;
    min-width: 0;
}
.ptfc-checkout-right {
    width: 380px;
    flex-shrink: 0;
    position: sticky;
    top: 30px;
}
@media (max-width: 768px) {
    .ptfc-checkout-wrapper {
        padding: 20px 0;
    }
    .ptfc-checkout-title-wrap {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
}
