/**
 * Flavor Cart - Main Styles
 * Version: 1.10.70 - Fix filter search full width on mobile
 */

/* ========================================
   CSS Variables - 2026 Modern Design
   ======================================== */
:root {
    --flavor-primary: #6b7c3f;
    --flavor-primary-hover: #5a6a35;
    --flavor-primary-light: #8a9c5f;
    --flavor-secondary: #f5f3ef;
    --flavor-text: #1a1a1a;
    --flavor-text-light: #64748b;
    --flavor-border: #e2e8f0;
    --flavor-white: #ffffff;
    --flavor-danger: #ef4444;
    --flavor-warning: #f59e0b;
    --flavor-success: #10b981;
    --flavor-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    --flavor-shadow-lg: 0 25px 50px -12px rgba(0, 0, 0, 0.15);
    --flavor-shadow-xl: 0 35px 60px -15px rgba(0, 0, 0, 0.2);
    --flavor-radius: 12px;
    --flavor-radius-lg: 20px;
    --flavor-radius-xl: 28px;
    --flavor-transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
    --flavor-transition-fast: all 0.2s cubic-bezier(0.22, 1, 0.36, 1);
    --flavor-glass-bg: rgba(255, 255, 255, 0.7);
    --flavor-glass-border: rgba(255, 255, 255, 0.4);
    --flavor-gradient-primary: linear-gradient(135deg, #6b7c3f 0%, #8a9c5f 100%);
    --flavor-gradient-success: linear-gradient(135deg, #10b981 0%, #34d399 100%);
    --flavor-gradient-warm: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
}

/* ========================================
   Mini Cart Icon Button
   ======================================== */
.flavor-mini-cart-icon {
    display: inline-flex;
    align-items: center;
}

.flavor-cart-toggle {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 8px;
    transition: var(--flavor-transition);
    color: var(--flavor-primary);
}

.flavor-cart-toggle:hover {
    opacity: 0.8;
}

.flavor-cart-icon-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.flavor-cart-svg {
    width: 24px;
    height: 24px;
    stroke: var(--flavor-primary);
    transition: var(--flavor-transition);
}

.flavor-cart-toggle:hover .flavor-cart-svg {
    stroke: var(--flavor-primary-hover);
}

.flavor-cart-count {
    position: absolute;
    top: -8px;
    right: -8px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    background: var(--flavor-primary);
    color: var(--flavor-white);
    font-size: 11px;
    font-weight: 600;
    line-height: 18px;
    text-align: center;
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.flavor-cart-total-display {
    font-size: 16px;
    font-weight: 600;
    color: var(--flavor-primary);
}

.flavor-style-with-total .flavor-cart-toggle,
.flavor-style-full .flavor-cart-toggle {
    background: var(--flavor-secondary);
    padding: 10px 16px;
    border-radius: 25px;
}

.flavor-style-full .flavor-cart-toggle {
    border: 1px solid var(--flavor-border);
}

/* ========================================
   Cart Overlay
   ======================================== */
.flavor-cart-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    transition: var(--flavor-transition);
    z-index: 999998;
}

.flavor-cart-overlay.active {
    opacity: 1;
    visibility: visible;
}

/* ========================================
   Cart Sidebar
   ======================================== */
.flavor-cart-sidebar {
    position: fixed;
    top: 0;
    right: -420px;
    width: 400px;
    max-width: 100%;
    height: 100%;
    background: var(--flavor-white);
    box-shadow: var(--flavor-shadow-lg);
    transition: right 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    z-index: 999999;
    display: flex;
    flex-direction: column;
    visibility: hidden;
    opacity: 0;
}

.flavor-cart-sidebar.active {
    right: 0;
    visibility: visible;
    opacity: 1;
}

.flavor-cart-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid var(--flavor-border);
    background: var(--flavor-white);
}

.flavor-cart-header h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: var(--flavor-text);
}

.flavor-cart-close {
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 8px;
    color: var(--flavor-text-light);
    transition: var(--flavor-transition);
    border-radius: 50%;
}

.flavor-cart-close:hover {
    background: var(--flavor-secondary);
    color: var(--flavor-text);
}

.flavor-cart-body {
    flex: 1;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    padding: 0;
}

/* ========================================
   Shipping Warning
   ======================================== */
.flavor-shipping-warning {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    background: #fff3cd;
    color: #856404;
    font-size: 13px;
    font-weight: 500;
    border-bottom: 1px solid var(--flavor-border);
}

.flavor-shipping-warning svg {
    stroke: #856404;
    flex-shrink: 0;
}

/* ========================================
   Cart Items
   ======================================== */
.flavor-cart-items {
    padding: 16px;
}

.flavor-cart-item {
    display: flex;
    gap: 12px;
    padding: 16px 0;
    border-bottom: 1px solid var(--flavor-border);
}

.flavor-cart-item:first-child {
    padding-top: 0;
}

.flavor-cart-item:last-child {
    border-bottom: none;
}

.flavor-item-image {
    flex-shrink: 0;
    width: 70px;
    height: 70px;
}

.flavor-item-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: var(--flavor-radius);
    background: var(--flavor-secondary);
}

.flavor-item-details {
    flex: 1;
    min-width: 0;
}

.flavor-item-name {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: var(--flavor-primary);
    text-decoration: none;
    margin-bottom: 4px;
    line-height: 1.4;
    transition: var(--flavor-transition);
}

.flavor-item-name:hover {
    color: var(--flavor-primary-hover);
}

.flavor-item-price {
    font-size: 13px;
    color: var(--flavor-text-light);
}

.flavor-item-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
}

.flavor-item-size {
    display: inline-block;
    padding: 2px 8px;
    background: var(--flavor-secondary);
    font-size: 11px;
    color: var(--flavor-text-light);
    border-radius: 10px;
}

.flavor-item-pickup {
    display: none;
}

.flavor-item-actions {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 6px !important;
    flex-shrink: 0 !important;
    flex-wrap: nowrap !important;
}

/* Quantity Controls */
.flavor-cart-sidebar .flavor-qty-wrapper,
.flavor-qty-wrapper {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0 !important;
    background: #eeeeee !important;
    border-radius: 25px !important;
    padding: 2px !important;
    flex-wrap: nowrap !important;
}

.flavor-cart-sidebar .flavor-qty-btn,
.flavor-qty-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    max-width: 26px !important;
    background: #ffffff !important;
    border: 1px solid #dddddd !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    color: #333333 !important;
    flex-shrink: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.flavor-qty-icon {
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    color: #333333 !important;
}

.flavor-qty-btn:hover {
    background: var(--flavor-primary, #6b7c3f) !important;
    border-color: var(--flavor-primary, #6b7c3f) !important;
}

.flavor-qty-btn:hover .flavor-qty-icon {
    color: #ffffff !important;
}

.flavor-cart-sidebar .flavor-qty-value,
.flavor-qty-value {
    min-width: 24px !important;
    text-align: center !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #333333 !important;
    padding: 0 2px !important;
}

.flavor-cart-sidebar .flavor-item-remove,
.flavor-item-remove {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    padding: 0 !important;
    color: #aaaaaa !important;
    transition: all 0.2s ease !important;
    flex-shrink: 0 !important;
}

.flavor-item-remove svg {
    width: 14px !important;
    height: 14px !important;
}

.flavor-item-remove:hover {
    color: var(--flavor-danger, #dc3545) !important;
}

.flavor-item-remove:hover {
    color: var(--flavor-danger);
    background: #fee;
}

/* ========================================
   Upsell Section
   ======================================== */
.flavor-upsell-section {
    margin: 0 16px 16px;
    padding: 16px;
    background: #fffbf0;
    border-radius: var(--flavor-radius);
    border: 1px solid #ffeeba;
}

.flavor-upsell-header {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}

.flavor-upsell-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    background: #fff3cd;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.flavor-upsell-icon svg {
    stroke: #856404;
}

.flavor-upsell-title {
    flex: 1;
}

.flavor-upsell-title strong {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: var(--flavor-text);
    margin-bottom: 2px;
}

.flavor-upsell-subtitle {
    font-size: 12px;
    color: #856404;
}

.flavor-upsell-progress {
    margin-bottom: 12px;
}

.flavor-upsell-progress .flavor-progress-bar {
    height: 8px;
    background: #ffe69c;
    border-radius: 4px;
    overflow: hidden;
}

.flavor-upsell-progress .flavor-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #ffc107, #e67e22);
    border-radius: 4px;
    transition: width 0.3s ease;
}

.flavor-progress-labels {
    display: flex;
    justify-content: space-between;
    margin-top: 6px;
    font-size: 11px;
    color: var(--flavor-text-light);
}

.flavor-progress-labels span:last-child {
    color: #856404;
    font-weight: 600;
}

.flavor-upsell-label {
    font-size: 12px;
    color: var(--flavor-text-light);
    margin-bottom: 10px;
    padding-bottom: 8px;
    border-bottom: 1px dashed #ffeeba;
}

.flavor-upsell-products {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.flavor-upsell-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px;
    background: var(--flavor-white);
    border-radius: var(--flavor-radius);
    transition: var(--flavor-transition);
    border: 1px solid var(--flavor-border);
}

.flavor-upsell-item:hover {
    border-color: var(--flavor-primary-light);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.flavor-upsell-item-link {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    min-width: 0;
    text-decoration: none;
    color: inherit;
}

.flavor-upsell-item-link:hover {
    text-decoration: none;
}

.flavor-upsell-item-image {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
}

.flavor-upsell-item-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 6px;
    background: var(--flavor-secondary);
}

.flavor-upsell-item-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.flavor-upsell-item-name {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 13px;
    font-weight: 500;
    color: var(--flavor-text);
    line-height: 1.4;
}

.flavor-upsell-item-link:hover .flavor-upsell-item-name {
    color: var(--flavor-primary);
}

.flavor-upsell-item-price {
    font-size: 13px;
    font-weight: 600;
    color: var(--flavor-primary);
}

.flavor-upsell-add {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-width: 36px;
    height: 36px;
    padding: 0 12px;
    background: var(--flavor-primary);
    color: var(--flavor-white);
    border: none;
    border-radius: 50%;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--flavor-transition);
    white-space: nowrap;
    flex-shrink: 0;
}

/* Kai yra tekstas, padaryk ilgesnį */
.flavor-upsell-add span {
    display: none;
}

.flavor-upsell-add:hover {
    background: var(--flavor-primary-hover);
    transform: scale(1.08);
}

.flavor-upsell-add svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
    stroke-width: 2.5;
}

.flavor-upsell-add.loading {
    opacity: 0.6;
    pointer-events: none;
}

.flavor-upsell-hint {
    padding: 12px;
    background: var(--flavor-white);
    border-radius: var(--flavor-radius);
    text-align: center;
    font-size: 13px;
    color: var(--flavor-text-light);
}

.flavor-upsell-more {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px dashed #ffeeba;
    text-align: center;
}

.flavor-upsell-more-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 20px;
    background: var(--flavor-white);
    color: var(--flavor-primary);
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    border-radius: 20px;
    border: 1px solid var(--flavor-primary);
    transition: var(--flavor-transition);
}

.flavor-upsell-more-link:hover {
    background: var(--flavor-primary);
    color: var(--flavor-white);
    text-decoration: none;
}

.flavor-upsell-more-link svg {
    stroke: currentColor;
    transition: transform 0.2s ease;
}

.flavor-upsell-more-link:hover svg {
    transform: translateX(3px);
}

/* ========================================
   Empty Cart
   ======================================== */
.flavor-cart-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 24px;
    text-align: center;
}

.flavor-cart-empty-icon {
    margin-bottom: 20px;
    color: var(--flavor-border);
}

.flavor-cart-empty-icon svg {
    stroke: #ddd;
}

.flavor-cart-empty p {
    margin: 0 0 24px;
    font-size: 16px;
    color: var(--flavor-text-light);
}

/* ========================================
   Cart Footer
   ======================================== */
.flavor-cart-footer-wrapper {
    flex-shrink: 0;
}

.flavor-cart-footer {
    padding: 20px 24px;
    background: var(--flavor-white);
    border-top: 1px solid var(--flavor-border);
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.08);
}

.flavor-cart-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.flavor-total-label {
    font-size: 16px;
    color: var(--flavor-text-light);
}

.flavor-total-value {
    font-size: 22px;
    font-weight: 700;
    color: var(--flavor-primary);
}

.flavor-cart-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* ========================================
   Buttons
   ======================================== */
.flavor-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 24px;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-decoration: none;
    border-radius: 30px;
    cursor: pointer;
    transition: var(--flavor-transition);
    border: 2px solid transparent;
}

.flavor-btn-primary {
    background: var(--flavor-primary);
    color: var(--flavor-white);
    border-color: var(--flavor-primary);
}

.flavor-btn-primary:hover {
    background: var(--flavor-primary-hover);
    border-color: var(--flavor-primary-hover);
    color: var(--flavor-white);
}

.flavor-btn-outline {
    background: transparent;
    color: var(--flavor-primary);
    border-color: var(--flavor-primary);
}

.flavor-btn-outline:hover {
    background: var(--flavor-primary);
    color: var(--flavor-white);
}

/* ========================================
   Modal
   ======================================== */
.flavor-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transition: var(--flavor-transition);
    z-index: 1000000;
}

.flavor-modal.active {
    opacity: 1;
    visibility: visible;
}

.flavor-modal-content {
    background: var(--flavor-white);
    border-radius: var(--flavor-radius-lg);
    padding: 32px;
    max-width: 440px;
    width: 100%;
    text-align: center;
    position: relative;
    box-shadow: var(--flavor-shadow-lg);
    transform: scale(0.9);
    transition: transform 0.3s ease;
}

.flavor-modal.active .flavor-modal-content {
    transform: scale(1);
}

.flavor-modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 8px;
    color: var(--flavor-text-light);
    transition: var(--flavor-transition);
    border-radius: 50%;
}

.flavor-modal-close:hover {
    background: var(--flavor-secondary);
    color: var(--flavor-text);
}

.flavor-modal-icon {
    margin-bottom: 20px;
    color: var(--flavor-primary);
}

.flavor-modal-icon svg {
    stroke: var(--flavor-primary);
}

.flavor-modal-title {
    margin: 0 0 12px;
    font-size: 18px;
    font-weight: 600;
    color: var(--flavor-text);
}

.flavor-modal-message {
    margin: 0 0 20px;
    font-size: 14px;
    color: var(--flavor-text-light);
    line-height: 1.6;
}

.flavor-modal-rules {
    background: var(--flavor-secondary);
    border-radius: var(--flavor-radius);
    padding: 16px;
    margin-bottom: 24px;
    text-align: left;
}

.flavor-modal-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
}

.flavor-modal-actions .flavor-btn {
    flex: 1;
    padding: 12px 20px;
}

/* ========================================
   Product Page Notice
   ======================================== */
.flavor-quantity-notice {
    display: flex;
    gap: 12px;
    padding: 16px;
    margin: 16px 0;
    background: #f8f9f4;
    border-radius: var(--flavor-radius);
    border-left: 4px solid var(--flavor-primary);
}

.flavor-notice-icon {
    flex-shrink: 0;
    color: var(--flavor-primary);
}

.flavor-notice-content {
    font-size: 13px;
    line-height: 1.6;
    color: var(--flavor-text);
}

.flavor-notice-content strong {
    display: block;
    margin-bottom: 4px;
    color: var(--flavor-text);
}

.flavor-notice-content em {
    display: block;
    margin-top: 8px;
    font-style: normal;
    color: #856404;
}

/* ========================================
   Elementor Editor Placeholder
   ======================================== */
.flavor-cart-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: var(--flavor-secondary);
    border: 2px dashed var(--flavor-border);
    border-radius: var(--flavor-radius);
    color: var(--flavor-text-light);
}

.flavor-cart-placeholder .eicon-cart {
    font-size: 32px;
    margin-bottom: 8px;
}

.flavor-cart-placeholder p {
    margin: 0;
    font-size: 12px;
}

/* ========================================
   Animations
   ======================================== */
@keyframes flavorPulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.2); }
    100% { transform: scale(1); }
}

.flavor-cart-count.pulse {
    animation: flavorPulse 0.3s ease;
}

.flavor-loading {
    position: relative;
    pointer-events: none;
}

.flavor-loading::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.7);
}

/* Scrollbar */
.flavor-cart-content::-webkit-scrollbar {
    width: 6px;
}

.flavor-cart-content::-webkit-scrollbar-track {
    background: var(--flavor-secondary);
}

.flavor-cart-content::-webkit-scrollbar-thumb {
    background: var(--flavor-border);
    border-radius: 3px;
}

.flavor-cart-content::-webkit-scrollbar-thumb:hover {
    background: var(--flavor-text-light);
}

/* ========================================
   Responsive
   ======================================== */
@media (max-width: 480px) {
    .flavor-cart-sidebar {
        width: 100%;
        right: -100%;
    }
    
    .flavor-modal-content {
        padding: 24px 20px;
    }
    
    .flavor-modal-actions {
        flex-direction: column;
    }
    
    .flavor-cart-header {
        padding: 16px;
    }
    
    .flavor-cart-footer {
        padding: 16px;
    }
    
    .flavor-cart-items {
        padding: 12px;
    }
    
    .flavor-item-image {
        width: 60px;
        height: 60px;
    }
    
    .flavor-cart-item {
        gap: 10px;
    }
    
    .flavor-item-name {
        font-size: 13px;
    }
    
    .flavor-upsell-section {
        margin: 0 12px 12px;
        padding: 12px;
    }
    
    .flavor-upsell-item {
        padding: 8px;
    }
    
    .flavor-upsell-item-image {
        width: 40px;
        height: 40px;
    }
    
    .flavor-upsell-add {
        padding: 6px 10px;
        font-size: 11px;
    }
}

/* ========================================
   Group Products Widget
   ======================================== */
.flavor-group-widget {
    width: 100%;
}

.flavor-group-header {
    text-align: center;
    margin-bottom: 30px;
}

.flavor-group-title {
    margin: 0 0 10px;
    font-size: 28px;
    font-weight: 700;
    color: var(--flavor-text);
}

.flavor-group-subtitle {
    margin: 0;
    font-size: 16px;
    color: var(--flavor-text-light);
}

.flavor-group-products {
    display: grid;
    gap: 20px;
}

.flavor-group-products.flavor-columns-2 {
    grid-template-columns: repeat(2, 1fr);
}

.flavor-group-products.flavor-columns-3 {
    grid-template-columns: repeat(3, 1fr);
}

.flavor-group-products.flavor-columns-4 {
    grid-template-columns: repeat(4, 1fr);
}

.flavor-group-products.flavor-columns-5 {
    grid-template-columns: repeat(5, 1fr);
}

.flavor-group-products.flavor-columns-6 {
    grid-template-columns: repeat(6, 1fr);
}

.flavor-group-product {
    display: flex;
    flex-direction: column;
    background: var(--flavor-white);
    border-radius: 12px;
    overflow: hidden;
    transition: var(--flavor-transition);
    border: 1px solid var(--flavor-border);
}

.flavor-group-product:hover {
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
    transform: translateY(-4px);
}

.flavor-group-product-link {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    flex: 1;
}

.flavor-group-product-link:hover {
    text-decoration: none;
}

.flavor-group-product-image {
    position: relative;
    padding-top: 100%;
    overflow: hidden;
    background: var(--flavor-secondary);
}

.flavor-group-product-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.flavor-group-product:hover .flavor-group-product-image img {
    transform: scale(1.05);
}

.flavor-group-product-info {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}

.flavor-group-product-title {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--flavor-text);
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.flavor-group-product:hover .flavor-group-product-title {
    color: var(--flavor-primary);
}

.flavor-group-product-size {
    display: inline-block;
    padding: 4px 10px;
    background: var(--flavor-secondary);
    color: var(--flavor-text-light);
    font-size: 12px;
    font-weight: 500;
    border-radius: 12px;
    width: fit-content;
}

.flavor-group-product-price {
    font-size: 16px;
    font-weight: 700;
    color: var(--flavor-primary);
    margin-top: auto;
}

.flavor-group-product-price del {
    color: var(--flavor-text-light);
    font-weight: 400;
    font-size: 13px;
}

.flavor-group-product-price ins {
    text-decoration: none;
}

.flavor-group-add-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: calc(100% - 32px);
    margin: 0 16px 16px;
    padding: 12px 16px;
    background: var(--flavor-primary);
    color: var(--flavor-white);
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--flavor-transition);
}

.flavor-group-add-btn:hover {
    background: var(--flavor-primary-hover);
    transform: scale(1.02);
}

.flavor-group-add-btn svg {
    stroke: currentColor;
}

.flavor-group-add-btn.loading {
    opacity: 0.6;
    pointer-events: none;
}

.flavor-group-out-of-stock {
    display: block;
    text-align: center;
    padding: 12px 16px;
    margin: 0 16px 16px;
    background: #f8d7da;
    color: #721c24;
    font-size: 13px;
    font-weight: 500;
    border-radius: 8px;
}

.flavor-group-placeholder {
    padding: 40px;
    text-align: center;
    background: var(--flavor-secondary);
    border-radius: 12px;
    color: var(--flavor-text-light);
}

/* Group Products Widget Responsive */
@media (max-width: 1024px) {
    .flavor-group-products.flavor-columns-5,
    .flavor-group-products.flavor-columns-6 {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 768px) {
    .flavor-group-products.flavor-columns-4,
    .flavor-group-products.flavor-columns-5,
    .flavor-group-products.flavor-columns-6 {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .flavor-group-title {
        font-size: 24px;
    }
}

@media (max-width: 600px) {
    .flavor-group-products.flavor-columns-3,
    .flavor-group-products.flavor-columns-4,
    .flavor-group-products.flavor-columns-5,
    .flavor-group-products.flavor-columns-6 {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .flavor-group-products {
        gap: 12px;
    }
    
    .flavor-group-product-info {
        padding: 12px;
    }
    
    .flavor-group-product-title {
        font-size: 13px;
    }
    
    .flavor-group-add-btn {
        width: calc(100% - 24px);
        margin: 0 12px 12px;
        padding: 10px 12px;
        font-size: 12px;
    }
}

/* ========================================
   Promo Box V2 - Professional Design
   ======================================== */
.flavor-promo-v2 {
    position: relative;
    background-color: #ffffff;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    padding: 20px 24px;
    transition: box-shadow 0.3s ease;
}

.flavor-promo-v2:hover {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.flavor-promo-v2-placeholder {
    text-align: center;
    padding: 30px;
    color: #999;
    background: #f9f9f9;
    border-radius: 12px;
    border: 1px dashed #ddd;
}

/* Badge */
.flavor-promo-v2-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 4px 12px;
    border-radius: 4px;
    background-color: #6b7c3f;
    color: #ffffff;
    margin-bottom: 12px;
}

/* Content container */
.flavor-promo-v2-content {
    display: flex;
    align-items: center;
    gap: 20px;
}

/* Image */
.flavor-promo-v2-image {
    display: block;
    width: 80px;
    height: 80px;
    flex-shrink: 0;
    border-radius: 8px;
    overflow: hidden;
    background: #f5f5f5;
}

.flavor-promo-v2-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.flavor-promo-v2-image:hover img {
    transform: scale(1.05);
}

.flavor-promo-v2-image--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: #ccc;
}

/* Info section */
.flavor-promo-v2-info {
    flex: 1;
    min-width: 0;
}

.flavor-promo-v2-title {
    font-size: 14px;
    font-weight: 600;
    color: #333333;
    margin: 0 0 8px 0;
    line-height: 1.3;
}

.flavor-promo-v2-subtitle {
    font-size: 13px;
    color: #666;
    margin: 0 0 8px 0;
    line-height: 1.4;
}

.flavor-promo-v2-product-name {
    display: block;
    font-size: 15px;
    font-weight: 500;
    color: #333;
    text-decoration: none;
    margin-bottom: 8px;
    transition: color 0.2s ease;
}

.flavor-promo-v2-product-name:hover {
    color: #6b7c3f;
}

/* Price */
.flavor-promo-v2-price {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.flavor-promo-v2-old-price {
    font-size: 13px;
    color: #999999;
    text-decoration: line-through;
}

.flavor-promo-v2-discount {
    font-size: 11px;
    font-weight: 600;
    padding: 2px 6px;
    border-radius: 3px;
    background-color: #e8f5e9;
    color: #2e7d32;
}

.flavor-promo-v2-new-price {
    font-size: 18px;
    font-weight: 700;
    color: #333333;
}

/* Countdown */
.flavor-promo-v2-countdown {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    padding: 4px 10px;
    border-radius: 4px;
    background-color: #f5f5f5;
    color: #666666;
    margin-top: 8px;
}

.flavor-promo-v2-countdown-label {
    font-weight: 500;
}

.flavor-promo-v2-timer {
    font-weight: 600;
    font-family: monospace;
    color: #333333;
}

/* Button */
.flavor-promo-v2-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex-shrink: 0;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 500;
    color: #ffffff;
    background-color: #6b7c3f;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    white-space: nowrap;
}

.flavor-promo-v2-btn:hover {
    background-color: #5a6a35;
}

.flavor-promo-v2-btn svg,
.flavor-promo-v2-btn i {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

.flavor-promo-v2-btn--disabled {
    background-color: #e0e0e0;
    color: #999;
    cursor: not-allowed;
}

/* Layout Variants */

/* Horizontal (default) */
.flavor-promo-v2--horizontal .flavor-promo-v2-content {
    flex-direction: row;
}

/* Vertical */
.flavor-promo-v2--vertical {
    text-align: center;
}

.flavor-promo-v2--vertical .flavor-promo-v2-content {
    flex-direction: column;
}

.flavor-promo-v2--vertical .flavor-promo-v2-image {
    width: 120px;
    height: 120px;
    margin: 0 auto;
}

.flavor-promo-v2--vertical .flavor-promo-v2-price {
    justify-content: center;
}

/* Minimal */
.flavor-promo-v2--minimal {
    padding: 16px 20px;
    border: none;
    background: #f9f9f9;
}

.flavor-promo-v2--minimal .flavor-promo-v2-badge {
    position: absolute;
    top: 0;
    right: 0;
    border-radius: 0 12px 0 8px;
    margin: 0;
}

.flavor-promo-v2--minimal .flavor-promo-v2-image {
    width: 60px;
    height: 60px;
}

/* Card */
.flavor-promo-v2--card {
    padding: 0;
    overflow: hidden;
}

.flavor-promo-v2--card .flavor-promo-v2-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    margin: 0;
    z-index: 1;
}

.flavor-promo-v2--card .flavor-promo-v2-content {
    flex-direction: column;
}

.flavor-promo-v2--card .flavor-promo-v2-image {
    width: 100%;
    height: 180px;
    border-radius: 0;
}

.flavor-promo-v2--card .flavor-promo-v2-info {
    padding: 16px;
    text-align: center;
}

.flavor-promo-v2--card .flavor-promo-v2-price {
    justify-content: center;
}

.flavor-promo-v2--card .flavor-promo-v2-btn {
    width: calc(100% - 32px);
    margin: 0 16px 16px;
}

/* Responsive */
@media (max-width: 768px) {
    .flavor-promo-v2--horizontal .flavor-promo-v2-content {
        flex-direction: column;
        text-align: center;
    }
    
    .flavor-promo-v2--horizontal .flavor-promo-v2-price {
        justify-content: center;
    }
    
    .flavor-promo-v2--horizontal .flavor-promo-v2-btn {
        width: 100%;
    }
}

/* Old promo box styles (deprecated, kept for backwards compatibility) */
.flavor-promo-box {
    position: relative;
    background: linear-gradient(135deg, #fff8e1 0%, #ffecb3 100%);
    border: 2px solid #ff9800;
    border-radius: 16px;
    padding: 24px;
    margin-bottom: 30px;
    overflow: hidden;
}

.flavor-promo-badge {
    position: absolute;
    top: 0;
    right: 0;
    background: linear-gradient(135deg, #ff5722 0%, #e64a19 100%);
    color: white;
    font-size: 12px;
    font-weight: 700;
    padding: 8px 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-bottom-left-radius: 12px;
}

.flavor-promo-content {
    position: relative;
    z-index: 1;
}

.flavor-promo-title {
    font-size: 22px;
    font-weight: 700;
    color: #e65100;
    margin: 0 0 16px 0;
    text-align: center;
}

.flavor-promo-countdown {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: rgba(211, 47, 47, 0.1);
    border-radius: 10px;
    padding: 12px 16px;
    margin-bottom: 20px;
    color: #d32f2f;
    font-weight: 600;
}

.flavor-countdown-timer {
    font-size: 14px;
    font-weight: 600;
    font-family: monospace;
}

.flavor-promo-product {
    display: flex;
    align-items: center;
    gap: 20px;
    background: white;
    border-radius: 12px;
    padding: 16px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}

.flavor-promo-product-link {
    display: flex;
    align-items: center;
    gap: 16px;
    flex: 1;
    text-decoration: none;
    color: inherit;
}

.flavor-promo-product-image {
    width: 100px;
    height: 100px;
    flex-shrink: 0;
    border-radius: 10px;
    overflow: hidden;
}

.flavor-promo-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.flavor-promo-product-info {
    flex: 1;
}

.flavor-promo-product-title {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin: 0 0 10px 0;
}

.flavor-promo-product-price {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.flavor-promo-original-price {
    color: #999;
    text-decoration: line-through;
    font-size: 14px;
}

.flavor-promo-discount-badge {
    background: #d32f2f;
    color: white;
    font-size: 12px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 4px;
}

.flavor-promo-new-price {
    font-size: 22px;
    font-weight: 700;
    color: #2e7d32;
}

.flavor-promo-add-btn {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    background: #6b7c3f;
    color: white;
    border: none;
    border-radius: 10px;
    padding: 14px 24px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.flavor-promo-add-btn:hover {
    background: #5a6a35;
}

.flavor-promo-out-of-stock {
    flex-shrink: 0;
    background: #f8d7da;
    color: #721c24;
    padding: 14px 24px;
    border-radius: 10px;
    font-weight: 500;
}

.flavor-promo-placeholder {
    text-align: center;
    padding: 20px;
    color: #999;
}

@media (max-width: 768px) {
    .flavor-promo-box {
        padding: 16px;
    }
    
    .flavor-promo-product {
        flex-direction: column;
        text-align: center;
    }
    
    .flavor-promo-product-link {
        flex-direction: column;
    }
    
    .flavor-promo-product-price {
        justify-content: center;
    }
    
    .flavor-promo-add-btn {
        width: 100%;
        justify-content: center;
    }
}

/* ========================================
   Product Card Widget
   ======================================== */
.flavor-product-cards {
    width: 100%;
}

.flavor-product-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

/* Card */
.flavor-product-card {
    position: relative;
    background: #ffffff;
    border-radius: 12px;
    overflow: visible;
    transition: all 0.3s ease;
}

/* Hover animations */
.flavor-hover-shadow .flavor-product-card:hover {
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12);
}

.flavor-hover-lift .flavor-product-card:hover {
    transform: translateY(-8px);
}

.flavor-hover-zoom .flavor-product-card:hover .flavor-product-card-image img {
    transform: scale(1.08);
}

.flavor-hover-shadow-lift .flavor-product-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.15);
}

/* Image */
.flavor-product-card-image {
    position: relative;
    height: 280px;
    overflow: hidden;
    background: #ffffff;
    border-radius: 12px 12px 0 0;
}

.flavor-product-card-image a {
    display: block;
    width: 100%;
    height: 100%;
}

.flavor-product-card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.flavor-product-card-image::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
    z-index: 1;
    border-radius: inherit;
}

.flavor-product-card:hover .flavor-product-card-image::after {
    opacity: 1;
}

/* Badge */
.flavor-product-card-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 4px 10px;
    background: #6b7c3f;
    color: #ffffff;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: 4px;
    z-index: 2;
}

/* Hover actions */
.flavor-product-card-actions {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 8px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s ease;
    z-index: 10;
    pointer-events: none;
}

.flavor-product-card:hover .flavor-product-card-actions {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

/* Icons positions */
.flavor-icons-center .flavor-product-card-actions {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) translateY(10px);
}

.flavor-icons-center .flavor-product-card:hover .flavor-product-card-actions {
    transform: translate(-50%, -50%) translateY(0);
}

.flavor-icons-bottom .flavor-product-card-actions {
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%) translateY(10px);
}

.flavor-icons-bottom .flavor-product-card:hover .flavor-product-card-actions {
    transform: translateX(-50%) translateY(0);
}

.flavor-icons-top-right .flavor-product-card-actions {
    top: 12px;
    right: 12px;
    flex-direction: column;
    align-items: flex-end;
    transform: translateX(10px);
}

.flavor-icons-top-right .flavor-product-card:hover .flavor-product-card-actions {
    transform: translateX(0);
}

/* Action button */
.flavor-product-card-action,
a.flavor-product-card-action,
button.flavor-product-card-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    min-width: 40px;
    min-height: 40px;
    background: #ffffff;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.2s ease;
    color: #333333;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
    text-decoration: none;
    padding: 0;
    margin: 0;
    line-height: 1;
    flex-shrink: 0;
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
    font-size: 0;
    outline: none;
}

.flavor-product-card-action:hover,
a.flavor-product-card-action:hover,
button.flavor-product-card-action:hover {
    background: #6b7c3f;
    color: #ffffff;
}

.flavor-product-card-action:hover svg,
a.flavor-product-card-action:hover svg,
button.flavor-product-card-action:hover svg {
    stroke: #ffffff;
}

.flavor-product-card-action svg,
a.flavor-product-card-action svg,
button.flavor-product-card-action svg {
    width: 18px;
    height: 18px;
    min-width: 18px;
    min-height: 18px;
    flex-shrink: 0;
    transition: stroke 0.2s ease;
    display: block;
}

/* Content */
.flavor-product-card-content {
    padding: 15px 0 0;
}

.flavor-product-card-category {
    font-size: 12px;
    color: #999999;
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.flavor-product-card-title {
    margin: 0 0 8px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
}

.flavor-product-card-title a {
    color: #333333;
    text-decoration: none;
    transition: color 0.2s ease;
}

.flavor-product-card-title a:hover {
    color: #6b7c3f;
}

.flavor-product-card-rating {
    margin-bottom: 8px;
}

.flavor-product-card-price {
    font-size: 16px;
    font-weight: 600;
    color: #6b7c3f;
}

.flavor-product-card-price del {
    color: #999999;
    font-weight: 400;
    margin-right: 8px;
}

.flavor-product-card-price ins {
    text-decoration: none;
    color: #6b7c3f;
}

/* Carousel */
.flavor-product-carousel {
    position: relative;
    padding: 0 50px;
}

.flavor-carousel-viewport {
    overflow: hidden;
    position: relative;
    padding: 20px;
    margin: -20px;
}

.flavor-carousel-track {
    display: flex;
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform;
}

.flavor-product-carousel .flavor-product-card {
    flex-shrink: 0;
    box-sizing: border-box;
}

/* Hide hover effects on cards outside viewport */
.flavor-carousel-viewport .flavor-product-card {
    pointer-events: auto;
}

/* Carousel Arrows */
.flavor-carousel-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    z-index: 10;
    padding: 0;
    line-height: 1;
    color: #333333;
}

.flavor-carousel-arrow svg {
    width: 20px;
    height: 20px;
    stroke: currentColor;
    display: block;
    flex-shrink: 0;
    transition: stroke 0.3s ease;
}

.flavor-carousel-arrow:hover {
    background: #6b7c3f;
    border-color: #6b7c3f;
    color: #ffffff;
    box-shadow: 0 4px 15px rgba(107, 124, 63, 0.3);
}

.flavor-carousel-arrow:hover svg {
    stroke: #ffffff;
}

.flavor-carousel-arrow.flavor-arrow-disabled {
    opacity: 0.3;
    pointer-events: none;
    cursor: default;
}

.flavor-carousel-prev {
    left: 0;
}

.flavor-carousel-next {
    right: 0;
}

/* Allow hover effects in carousel viewport */
.flavor-carousel-viewport .flavor-product-card {
    overflow: visible;
}

/* Carousel Dots */
.flavor-carousel-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 24px;
    padding: 0;
}

.flavor-carousel-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #cbd5e1;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 0;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
}

.flavor-carousel-dot:hover {
    background: #94a3b8;
}

.flavor-carousel-dot.active {
    background: #6b7c3f;
    transform: scale(1.3);
}

/* Responsive */
@media (max-width: 1024px) {
    .flavor-product-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .flavor-product-carousel {
        padding: 0 48px;
    }
}

@media (max-width: 768px) {
    .flavor-product-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    
    .flavor-product-carousel {
        padding: 0 40px;
    }
    
    .flavor-carousel-arrow {
        width: 36px;
        height: 36px;
    }
    
    .flavor-carousel-arrow svg {
        width: 18px;
        height: 18px;
    }
    
    .flavor-carousel-dot {
        width: 9px;
        height: 9px;
    }
}

@media (max-width: 480px) {
    .flavor-product-grid {
        grid-template-columns: 1fr;
    }
    
    .flavor-product-carousel {
        padding: 0 35px;
    }
    
    .flavor-carousel-arrow {
        width: 32px;
        height: 32px;
    }
    
    .flavor-carousel-arrow svg {
        width: 16px;
        height: 16px;
    }
    
    .flavor-carousel-dot {
        width: 8px;
        height: 8px;
    }
}

/* ========================================
   Product Card Pagination
   ======================================== */
.flavor-grid-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 40px;
    gap: 6px;
}

/* Numbered Pages */
.flavor-grid-pagination-numbers {
    flex-wrap: wrap;
}

.flavor-grid-page {
    min-width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    color: #64748b;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.25s ease;
    outline: none;
}

.flavor-grid-page:hover {
    border-color: #6b7c3f;
    color: #6b7c3f;
    background: #f7f8f4;
}

.flavor-grid-page.active {
    background: #6b7c3f;
    border-color: #6b7c3f;
    color: #fff;
    cursor: default;
    pointer-events: none;
}

/* Load More Button */
.flavor-grid-load-more-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 40px;
    border: 2px solid #6b7c3f;
    border-radius: 10px;
    background: transparent;
    color: #6b7c3f;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    outline: none;
    min-width: 200px;
}

.flavor-grid-load-more-btn:hover {
    background: #6b7c3f;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(107, 124, 63, 0.3);
}

.flavor-grid-load-more-btn.loading {
    opacity: 0.7;
    cursor: wait;
    pointer-events: none;
}

.flavor-grid-load-more-btn.loading::after {
    content: '';
    width: 18px;
    height: 18px;
    border: 2px solid currentColor;
    border-top-color: transparent;
    border-radius: 50%;
    animation: flavorFilterSpin 0.7s linear infinite;
}

/* Infinite Scroll */
.flavor-grid-pagination-infinite {
    display: flex;
    justify-content: center;
    padding: 20px 0;
}

.flavor-grid-infinite-trigger {
    height: 1px;
    width: 100%;
}

.flavor-grid-infinite-loading {
    display: flex;
    justify-content: center;
    padding: 30px 0;
}

@media (max-width: 768px) {
    .flavor-grid-pagination {
        margin-top: 30px;
    }
    
    .flavor-grid-page {
        min-width: 38px;
        height: 38px;
        font-size: 13px;
    }
    
    .flavor-grid-load-more-btn {
        padding: 12px 30px;
        font-size: 14px;
        min-width: 160px;
    }
}

/* ===========================================
   CATEGORY BUTTONS WIDGET
   =========================================== */

.flavor-category-buttons {
    display: flex;
    flex-wrap: wrap;
}

.flavor-category-buttons-horizontal {
    flex-direction: row;
    align-items: stretch;
}

.flavor-category-buttons-vertical {
    flex-direction: column;
}

.flavor-category-buttons-grid {
    display: grid;
    gap: 15px;
}

/* Button base */
.flavor-category-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    cursor: pointer;
    box-sizing: border-box;
    line-height: 1.3;
    word-break: break-word;
    transition: all 0.3s ease;
}

/* Button text */
.flavor-category-button-text {
    display: block;
    line-height: inherit;
}

/* Responsive */
@media (max-width: 768px) {
    .flavor-category-buttons-horizontal {
        justify-content: center;
    }
    
    .flavor-category-button {
        min-width: 140px !important;
    }
}

@media (max-width: 480px) {
    .flavor-category-buttons-horizontal {
        flex-direction: column;
        align-items: stretch;
    }
    
    .flavor-category-button {
        width: 100%;
        min-width: unset !important;
    }
}

/* ===========================================
   NOTIFICATION SYSTEM
   =========================================== */

#flavor-notification-container {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 999999;
    display: flex;
    flex-direction: column;
    gap: 12px;
    pointer-events: none;
}

.flavor-notification {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 16px 20px;
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
    border-radius: 16px;
    box-shadow: 
        0 10px 40px rgba(0, 0, 0, 0.15),
        0 0 0 1px rgba(107, 124, 63, 0.1);
    min-width: 320px;
    max-width: 400px;
    position: relative;
    overflow: hidden;
    pointer-events: auto;
    transform: translateX(120%);
    opacity: 0;
    transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.flavor-notification.show {
    transform: translateX(0);
    opacity: 1;
}

.flavor-notification.hide {
    transform: translateX(120%);
    opacity: 0;
    transition: all 0.3s ease-in;
}

.flavor-notification::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(180deg, #6b7c3f 0%, #8fa855 100%);
}

.flavor-notification-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    min-width: 48px;
    background: linear-gradient(135deg, #6b7c3f 0%, #8fa855 100%);
    border-radius: 50%;
    animation: iconPop 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) 0.2s both;
}

.flavor-notification-icon svg {
    width: 24px;
    height: 24px;
    color: #ffffff;
    stroke-dasharray: 30;
    stroke-dashoffset: 30;
    animation: checkDraw 0.4s ease-out 0.4s forwards;
}

@keyframes iconPop {
    0% {
        transform: scale(0);
    }
    50% {
        transform: scale(1.2);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes checkDraw {
    to {
        stroke-dashoffset: 0;
    }
}

.flavor-notification-content {
    flex: 1;
    min-width: 0;
}

.flavor-notification-title {
    font-size: 15px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 2px;
    letter-spacing: -0.3px;
}

.flavor-notification-text {
    font-size: 13px;
    color: #666666;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.flavor-notification-close {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    color: #999999;
    font-size: 18px;
    cursor: pointer;
    border-radius: 50%;
    transition: all 0.2s ease;
    line-height: 1;
    padding: 0;
}

.flavor-notification-close:hover {
    background: rgba(0, 0, 0, 0.05);
    color: #333333;
}

.flavor-notification-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    background: linear-gradient(90deg, #6b7c3f, #8fa855);
    width: 100%;
    animation: progressShrink 3s linear forwards;
    transform-origin: left;
}

@keyframes progressShrink {
    from {
        transform: scaleX(1);
    }
    to {
        transform: scaleX(0);
    }
}

/* Warning notification style */
.flavor-notification-warning {
    box-shadow: 
        0 10px 40px rgba(245, 158, 11, 0.2),
        0 0 0 1px rgba(245, 158, 11, 0.15);
}

.flavor-notification-warning::before {
    background: linear-gradient(180deg, #f59e0b 0%, #d97706 100%);
}

.flavor-notification-icon-warning {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
}

.flavor-notification-icon-warning svg {
    stroke-dasharray: none;
    stroke-dashoffset: 0;
    animation: iconShake 0.5s ease-in-out 0.3s;
}

@keyframes iconShake {
    0%, 100% { transform: translateX(0); }
    20% { transform: translateX(-3px); }
    40% { transform: translateX(3px); }
    60% { transform: translateX(-2px); }
    80% { transform: translateX(2px); }
}

.flavor-notification-warning .flavor-notification-text {
    white-space: normal;
    line-height: 1.4;
}

.flavor-notification-warning .flavor-notification-text strong {
    color: #d97706;
    font-weight: 700;
}

.flavor-notification-hint {
    font-size: 12px;
    color: #16a34a;
    margin-top: 4px;
    font-weight: 500;
}

.flavor-notification-progress-warning {
    background: linear-gradient(90deg, #f59e0b, #d97706) !important;
    animation: progressShrink 6s linear forwards !important;
}

/* Ripple effect on button */
.flavor-product-card-action.ripple-effect {
    animation: buttonRipple 0.6s ease-out;
}

@keyframes buttonRipple {
    0% {
        transform: scale(1);
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
    }
    50% {
        transform: scale(0.9);
        box-shadow: 0 0 0 rgba(107, 124, 63, 0.4);
    }
    100% {
        transform: scale(1);
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15), 0 0 0 15px rgba(107, 124, 63, 0);
    }
}

/* Loading state */
.flavor-product-card-action.loading {
    pointer-events: none;
    opacity: 0.7;
}

.flavor-product-card-action.loading svg {
    animation: spinLoader 1s linear infinite;
}

@keyframes spinLoader {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

/* Mobile responsive */
@media (max-width: 480px) {
    #flavor-notification-container {
        bottom: 20px;
        right: 15px;
        left: 15px;
    }
    
    .flavor-notification {
        min-width: unset;
        max-width: unset;
        width: 100%;
    }
}

/* ========================================
   FLAVOR CART PAGE WIDGET - 2026 PREMIUM UI
   Modern glassmorphism & micro-interactions
   ======================================== */

/* CSS Variables - 2026 Design Tokens */
.flavor-cartpage-wrapper {
    --fcp-primary: #6b7c3f;
    --fcp-primary-hover: #5a6935;
    --fcp-primary-light: rgba(107, 124, 63, 0.1);
    --fcp-secondary: #f8fafc;
    --fcp-accent: #f59e0b;
    --fcp-accent-light: #fef3c7;
    --fcp-text: #0f172a;
    --fcp-text-muted: #64748b;
    --fcp-border: #e2e8f0;
    --fcp-white: #ffffff;
    --fcp-success: #10b981;
    --fcp-success-light: #d1fae5;
    --fcp-danger: #ef4444;
    --fcp-danger-light: #fee2e2;
    
    /* 2026 Shadows - Clean & Minimal */
    --fcp-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.03);
    --fcp-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.04);
    --fcp-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
    --fcp-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.05);
    --fcp-shadow-lg: 0 6px 16px rgba(0, 0, 0, 0.06);
    --fcp-shadow-xl: 0 8px 24px rgba(0, 0, 0, 0.06);
    --fcp-shadow-glow: none;
    --fcp-shadow-primary: 0 4px 12px rgba(107, 124, 63, 0.15);
    
    /* 2026 Clean Backgrounds */
    --fcp-glass-bg: #ffffff;
    --fcp-glass-border: var(--fcp-border);
    --fcp-glass-blur: none;
    
    /* 2026 Minimal Gradients */
    --fcp-gradient-primary: #6b7c3f;
    --fcp-gradient-shine: none;
    --fcp-gradient-success: #10b981;
    --fcp-gradient-warm: #fef3c7;
    --fcp-gradient-card: #ffffff;
    
    /* 2026 Radius - More rounded */
    --fcp-radius: 16px;
    --fcp-radius-lg: 24px;
    --fcp-radius-xl: 32px;
    --fcp-radius-full: 9999px;
    
    /* 2026 Transitions - Smooth & Premium */
    --fcp-transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
    --fcp-transition-fast: all 0.2s cubic-bezier(0.22, 1, 0.36, 1);
    --fcp-transition-bounce: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
    --fcp-transition-spring: all 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* Main Layout - 2026 */
.flavor-cartpage {
    display: flex;
    gap: 48px;
    max-width: 1440px;
    margin: 0 auto;
    padding: 48px 32px;
    font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', Roboto, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.flavor-cartpage-two-column {
    flex-wrap: nowrap;
}

.flavor-cartpage-one-column {
    flex-direction: column;
    max-width: 960px;
}

.flavor-cartpage-main {
    flex: 1;
    min-width: 0;
}

.flavor-cartpage-sidebar {
    width: 440px;
    flex-shrink: 0;
}

/* ========================================
   Cart Products Section - 2026
   ======================================== */
.flavor-cartpage-products {
    margin-bottom: 40px;
    overflow: visible !important;
}

.flavor-cartpage-items-list {
    overflow: visible !important;
}

.flavor-cartpage-header {
    margin-bottom: 32px;
    position: relative;
}

.flavor-cartpage-title {
    font-size: 32px;
    font-weight: 800;
    color: var(--fcp-text);
    margin: 0;
    display: flex;
    align-items: center;
    gap: 12px;
    letter-spacing: -0.02em;
}

.flavor-cartpage-count {
    font-weight: 500;
    color: var(--fcp-text-muted);
    font-size: 28px;
}

/* Product Card - 2026 Clean */
.flavor-cartpage-product {
    display: flex;
    gap: 20px;
    padding: 24px;
    background: var(--fcp-white);
    border-radius: var(--fcp-radius-lg);
    margin-bottom: 16px;
    box-shadow: none;
    border: 1px solid var(--fcp-border);
    transition: var(--fcp-transition);
    position: relative;
    align-items: flex-start;
    overflow: visible !important;
}

.flavor-cartpage-product:hover {
    border-color: var(--fcp-primary);
    box-shadow: var(--fcp-shadow-sm);
}

/* Product Image - 2026 Clean */
.flavor-cartpage-product-image {
    position: relative;
    width: 110px;
    height: 110px;
    flex-shrink: 0;
    border-radius: var(--fcp-radius);
    overflow: visible !important;
    background: #f8f9fa;
}

.flavor-cartpage-product-image a {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: var(--fcp-radius);
    overflow: hidden;
}

.flavor-cartpage-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--fcp-radius);
    transition: transform 0.4s ease;
}

.flavor-cartpage-product:hover .flavor-cartpage-product-image img {
    transform: scale(1.05);
}

/* Product Badge - 2026 with Glow */
.flavor-cartpage-product-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 6px 12px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    border-radius: var(--fcp-radius-full);
    z-index: 2;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.flavor-cartpage-product-badge-urgent {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.95) 0%, rgba(220, 38, 38, 0.95) 100%);
    color: white;
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.4);
    animation: badge-glow 2s infinite;
}

@keyframes badge-glow {
    0%, 100% { 
        box-shadow: 0 4px 12px rgba(239, 68, 68, 0.4);
    }
    50% { 
        box-shadow: 0 4px 20px rgba(239, 68, 68, 0.6);
    }
}

/* Product Content - 2026 */
.flavor-cartpage-product-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
    gap: 8px;
}

.flavor-cartpage-product-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 4px;
}

.flavor-cartpage-product-name {
    font-size: 17px;
    font-weight: 600;
    line-height: 1.4;
    margin: 0;
    flex: 1;
    min-width: 0;
    word-wrap: break-word;
    letter-spacing: -0.01em;
}

.flavor-cartpage-product-name a {
    color: var(--fcp-text);
    text-decoration: none !important;
    transition: var(--fcp-transition-fast);
    display: block;
}

.flavor-cartpage-product-name a:hover {
    color: var(--fcp-primary);
    text-decoration: none !important;
}

/* Remove Button - 2026 Clean */
.flavor-cartpage-product-remove {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px;
    height: 34px;
    min-width: 34px;
    border: none !important;
    background: #f5f5f5;
    border-radius: 10px;
    cursor: pointer !important;
    color: #999;
    transition: all 0.2s ease;
    flex-shrink: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
    font-size: 18px;
}

.flavor-cartpage-product-remove span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    color: inherit !important;
}

.flavor-cartpage-product-remove svg {
    width: 16px;
    height: 16px;
    min-width: 16px;
    min-height: 16px;
    stroke: currentColor !important;
    stroke-width: 2 !important;
    fill: none !important;
    display: block !important;
}

.flavor-cartpage-product-remove svg line,
.flavor-cartpage-product-remove svg path,
.flavor-cartpage-product-remove svg polyline,
.flavor-cartpage-product-remove svg rect {
    stroke: currentColor !important;
    stroke-width: 2 !important;
}

.flavor-cartpage-product-remove:hover {
    background: #fee2e2 !important;
    color: #ef4444 !important;
}

.flavor-cartpage-product-remove:hover span {
    color: #ef4444 !important;
}

.flavor-cartpage-product-remove:hover svg,
.flavor-cartpage-product-remove:hover svg line,
.flavor-cartpage-product-remove:hover svg path,
.flavor-cartpage-product-remove:hover svg polyline,
.flavor-cartpage-product-remove:hover svg rect {
    stroke: #ef4444 !important;
}

/* Product Meta - 2026 */
.flavor-cartpage-product-meta {
    font-size: 13px;
    color: var(--fcp-text-muted);
    margin-bottom: 4px;
}

.flavor-cartpage-product-meta strong {
    color: var(--fcp-text);
    font-weight: 600;
}

/* Single Price - 2026 */
.flavor-cartpage-product-price-single {
    font-size: 14px;
    color: var(--fcp-text-muted);
    margin-bottom: 0;
    padding-bottom: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.flavor-cartpage-product-sale-price {
    color: var(--fcp-danger);
    font-weight: 700;
    font-size: 15px;
}

.flavor-cartpage-product-original-price {
    text-decoration: line-through;
    color: var(--fcp-text-muted);
    font-size: 13px;
    opacity: 0.7;
}

/* Product Rules Tags - 2026 */
.flavor-cartpage-product-rules {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 8px 0;
}

.flavor-cartpage-rule-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 600;
    border-radius: 20px;
    white-space: nowrap;
}

.flavor-cartpage-rule-tag svg {
    flex-shrink: 0;
}

.flavor-cartpage-rule-size {
    background: #e0e7ff;
    color: #3730a3;
}

.flavor-cartpage-rule-min {
    background: #fef3c7;
    color: #92400e;
}

.flavor-cartpage-rule-step {
    background: #e0e7ff;
    color: #4338ca;
}

.flavor-cartpage-rule-pickup {
    background: #fee2e2;
    color: #b91c1c;
}

/* Savings Display - 2026 with Gradient Tag */
.flavor-cartpage-product-savings {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    padding-bottom: 8px;
}

.flavor-cartpage-product-savings-amount {
    font-size: 12px;
    font-weight: 700;
    color: #065f46;
    background: var(--fcp-gradient-success);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    padding: 4px 12px;
    border-radius: var(--fcp-radius-full);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    position: relative;
}

.flavor-cartpage-product-savings-amount::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--fcp-success-light);
    border-radius: inherit;
    z-index: -1;
}

.flavor-cartpage-product-savings-amount::after {
    content: '✨';
    font-size: 12px;
    -webkit-text-fill-color: initial;
}

/* Product Footer - 2026 */
.flavor-cartpage-product-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 16px;
    border-top: 1px dashed var(--fcp-border);
    margin-top: auto;
    gap: 16px;
}

/* Product Total - 2026 with emphasis */
.flavor-cartpage-product-total {
    font-size: 20px;
    font-weight: 800;
    color: var(--fcp-text);
    white-space: nowrap;
    text-align: right;
    letter-spacing: -0.02em;
}

/* Quantity Controls - 2026 Clean */
.flavor-cartpage-qty {
    display: inline-flex;
    align-items: center;
    background: #f5f5f5;
    border-radius: 12px;
    padding: 4px;
    border: 1px solid var(--fcp-border);
    gap: 0;
}

.flavor-cartpage-qty-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    border: none !important;
    background: var(--fcp-white) !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    color: var(--fcp-text) !important;
    transition: all 0.2s ease;
    box-shadow: none;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
    font-size: 18px !important;
    font-weight: 600 !important;
}

.flavor-cartpage-qty-btn span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: inherit !important;
}

.flavor-cartpage-qty-btn svg {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    stroke: currentColor !important;
    stroke-width: 2.5 !important;
    fill: none !important;
    display: block !important;
}

.flavor-cartpage-qty-btn svg line,
.flavor-cartpage-qty-btn svg path {
    stroke: currentColor !important;
    stroke-width: 2.5 !important;
}

.flavor-cartpage-qty-btn:hover {
    background: var(--fcp-primary) !important;
    color: white !important;
}

.flavor-cartpage-qty-btn:hover span {
    color: white !important;
}

.flavor-cartpage-qty-btn:hover svg,
.flavor-cartpage-qty-btn:hover svg line,
.flavor-cartpage-qty-btn:hover svg path {
    stroke: white !important;
}

.flavor-cartpage-qty-btn:active {
    transform: scale(0.95);
}

.flavor-cartpage-qty-input {
    width: 44px;
    height: 38px;
    border: none;
    background: transparent;
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    color: var(--fcp-text);
    -moz-appearance: textfield;
}

.flavor-cartpage-qty-input::-webkit-outer-spin-button,
.flavor-cartpage-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* ========================================
   Coupon Section - 2026 Clean
   ======================================== */
.flavor-cartpage-coupon {
    background: var(--fcp-white);
    border-radius: var(--fcp-radius-lg);
    margin-bottom: 32px;
    box-shadow: none;
    border: 1px solid var(--fcp-border);
    overflow: hidden;
}

/* Cart Page - Quantity Warnings */
.flavor-cartpage-warnings {
    display: flex;
    gap: 14px;
    padding: 16px 20px;
    margin-bottom: 24px;
    background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
    border: 1px solid #fbbf24;
    border-left: 4px solid #f59e0b;
    border-radius: 12px;
    animation: fadeInWarning 0.4s ease;
}

@keyframes fadeInWarning {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}

.flavor-cartpage-warnings-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f59e0b, #d97706);
    border-radius: 10px;
    color: #fff;
}

.flavor-cartpage-warnings-icon svg {
    stroke: #fff;
}

.flavor-cartpage-warnings-content {
    flex: 1;
    min-width: 0;
}

.flavor-cartpage-warnings-title {
    font-weight: 700;
    font-size: 14px;
    color: #92400e;
    margin-bottom: 8px;
    letter-spacing: -0.01em;
}

.flavor-cartpage-warnings-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.flavor-cartpage-warning-item {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.flavor-cartpage-warning-text {
    font-size: 13px;
    color: #78350f;
    line-height: 1.5;
}

.flavor-cartpage-warning-text strong {
    color: #92400e;
    font-weight: 700;
}

.flavor-cartpage-warning-hint {
    font-size: 12px;
    color: #15803d;
    font-weight: 600;
    margin-top: 2px;
}

.flavor-cartpage-coupon-toggle {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 20px 24px;
    cursor: pointer;
    font-weight: 600;
    font-size: 15px;
    color: var(--fcp-text);
    transition: background 0.2s ease;
}

.flavor-cartpage-coupon-toggle:hover {
    background: #f9fafb;
}

.flavor-cartpage-coupon-toggle svg {
    width: 22px;
    height: 22px;
    color: var(--fcp-primary);
}

.flavor-cartpage-coupon-toggle span {
    flex: 1;
}

.flavor-cartpage-coupon-arrow {
    width: 20px;
    height: 20px;
    color: var(--fcp-text-muted);
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.flavor-cartpage-coupon.is-open .flavor-cartpage-coupon-arrow {
    transform: rotate(180deg);
}

.flavor-cartpage-coupon-content {
    padding: 0 28px 28px;
}

.flavor-cartpage-coupon-form {
    display: flex;
    gap: 14px;
}

.flavor-cartpage-coupon-input {
    flex: 1;
    padding: 16px 20px;
    border: 2px solid var(--fcp-border);
    border-radius: 14px;
    font-size: 15px;
    transition: var(--fcp-transition);
    background: var(--fcp-white);
    font-weight: 500;
}

.flavor-cartpage-coupon-input:focus {
    outline: none;
    border-color: var(--fcp-primary);
    background: white;
    box-shadow: 0 0 0 4px var(--fcp-primary-light);
}

.flavor-cartpage-coupon-input::placeholder {
    color: #9ca3af;
    font-weight: 400;
}

.flavor-cartpage-coupon-btn {
    padding: 14px 24px;
    background: var(--fcp-primary);
    color: white;
    border: none;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.flavor-cartpage-coupon-btn:hover {
    background: var(--fcp-primary-hover);
}

/* Applied Coupons - 2026 Clean */
.flavor-cartpage-coupons-applied {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

.flavor-cartpage-coupon-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    background: #d1fae5;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    color: #065f46;
}

.flavor-cartpage-coupon-tag svg {
    width: 14px;
    height: 14px;
}

.flavor-cartpage-coupon-remove {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border: none;
    background: rgba(6, 95, 70, 0.15);
    border-radius: 50%;
    cursor: pointer;
    color: #065f46;
    transition: all 0.2s ease;
    padding: 0;
}

.flavor-cartpage-coupon-remove svg {
    width: 12px;
    height: 12px;
}

.flavor-cartpage-coupon-remove:hover {
    background: #065f46;
    color: white;
}

/* ========================================
   Upsells Section
   ======================================== */
.flavor-cartpage-upsells {
    margin-bottom: 32px;
}

.flavor-cartpage-upsells-header {
    margin-bottom: 20px;
}

.flavor-cartpage-upsells-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    font-weight: 600;
    color: var(--fcp-text);
    margin: 0;
}

.flavor-cartpage-upsells-title svg {
    width: 22px;
    height: 22px;
    color: var(--fcp-accent);
}

.flavor-cartpage-upsells-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 16px;
}

.flavor-cartpage-upsell {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px;
    background: var(--fcp-white);
    border-radius: 14px;
    box-shadow: var(--fcp-shadow-sm);
    border: 1px solid var(--fcp-border);
    transition: var(--fcp-transition);
}

.flavor-cartpage-upsell:hover {
    box-shadow: var(--fcp-shadow);
    transform: translateY(-2px);
}

.flavor-cartpage-upsell-image {
    width: 70px;
    height: 70px;
    flex-shrink: 0;
    border-radius: 10px;
    overflow: hidden;
    background: #f5f5f5;
}

.flavor-cartpage-upsell-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s;
}

.flavor-cartpage-upsell:hover .flavor-cartpage-upsell-image img {
    transform: scale(1.1);
}

.flavor-cartpage-upsell-content {
    flex: 1;
    min-width: 0;
}

.flavor-cartpage-upsell-name {
    font-size: 14px;
    font-weight: 600;
    margin: 0 0 4px;
    line-height: 1.3;
}

.flavor-cartpage-upsell-name a {
    color: var(--fcp-text);
    text-decoration: none;
}

.flavor-cartpage-upsell-price {
    font-size: 15px;
    font-weight: 700;
    color: var(--fcp-primary);
}

.flavor-cartpage-upsell-price del {
    color: #9ca3af;
    font-weight: 400;
    font-size: 13px;
}

.flavor-cartpage-upsell-add {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    background: var(--fcp-secondary);
    border: 2px solid var(--fcp-primary);
    border-radius: 12px;
    cursor: pointer;
    color: var(--fcp-primary);
    transition: var(--fcp-transition);
    flex-shrink: 0;
}

.flavor-cartpage-upsell-add svg {
    width: 18px;
    height: 18px;
}

.flavor-cartpage-upsell-add:hover {
    background: var(--fcp-primary);
    color: white;
    transform: scale(1.1) rotate(90deg);
}

/* ========================================
   Cart Summary / Sidebar - 2026 Clean
   ======================================== */
.flavor-cartpage-summary {
    background: var(--fcp-white);
    border-radius: var(--fcp-radius-xl);
    padding: 32px;
    box-shadow: var(--fcp-shadow-md);
    border: 1px solid var(--fcp-border);
    position: sticky;
    top: 32px;
}

.flavor-cartpage-summary-header {
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--fcp-border);
}

.flavor-cartpage-summary-title {
    font-size: 22px;
    font-weight: 700;
    color: var(--fcp-text);
    margin: 0;
}

/* Free Shipping Progress - 2026 Clean */
.flavor-cartpage-shipping-progress {
    background: #fef3c7;
    border-radius: var(--fcp-radius);
    padding: 18px;
    margin-bottom: 24px;
    border: 1px solid #fde68a;
}

.flavor-cartpage-shipping-progress.is-complete {
    background: #d1fae5;
    border-color: #a7f3d0;
}

.flavor-cartpage-shipping-text {
    font-size: 14px;
    color: #92400e;
    margin-bottom: 12px;
    line-height: 1.5;
}

.flavor-cartpage-shipping-text strong {
    color: #78350f;
    font-weight: 600;
}

.flavor-cartpage-progress-bar {
    height: 8px;
    background: rgba(255, 255, 255, 0.7);
    border-radius: 4px;
    overflow: hidden;
}

.flavor-cartpage-progress-fill {
    height: 100%;
    background: var(--fcp-primary);
    border-radius: 4px;
    transition: width 0.5s ease;
}

.flavor-cartpage-shipping-success {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 15px;
    font-weight: 600;
    color: #065f46;
}

.flavor-cartpage-shipping-success svg {
    width: 24px;
    height: 24px;
    color: #10b981;
}

/* Totals - 2026 */
.flavor-cartpage-totals {
    margin-bottom: 28px;
}

.flavor-cartpage-totals-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 0;
    border-bottom: 1px solid var(--fcp-border);
}

.flavor-cartpage-totals-label {
    font-size: 15px;
    color: var(--fcp-text-muted);
    font-weight: 500;
}

.flavor-cartpage-totals-value {
    font-size: 15px;
    font-weight: 600;
    color: var(--fcp-text);
}

.flavor-cartpage-totals-discount .flavor-cartpage-totals-value {
    color: var(--fcp-success);
    font-weight: 700;
}

.flavor-cartpage-totals-calc {
    font-size: 13px;
    font-weight: 400;
    color: var(--fcp-text-muted);
    font-style: italic;
}

.flavor-cartpage-totals-final {
    border-bottom: none;
    padding-top: 24px;
    margin-top: 12px;
    border-top: 2px solid var(--fcp-border);
    position: relative;
}

.flavor-cartpage-totals-final::before {
    content: '';
    position: absolute;
    top: -2px;
    left: 0;
    width: 80px;
    height: 2px;
    background: var(--fcp-gradient-primary);
}

.flavor-cartpage-totals-final .flavor-cartpage-totals-label {
    font-size: 16px;
    font-weight: 600;
    color: var(--fcp-text);
}

.flavor-cartpage-totals-final .flavor-cartpage-totals-value {
    font-size: 26px;
    font-weight: 800;
    color: var(--fcp-primary);
}

/* Action Buttons - 2026 with Glow */
.flavor-cartpage-actions {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 28px;
}

.flavor-cartpage-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 18px 32px;
    border-radius: var(--fcp-radius);
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    transition: var(--fcp-transition);
    cursor: pointer;
    border: none;
    position: relative;
    overflow: hidden;
}

.flavor-cartpage-btn svg {
    width: 20px;
    height: 20px;
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.flavor-cartpage-btn-primary {
    background: var(--fcp-primary);
    color: white;
    box-shadow: var(--fcp-shadow-sm);
}

.flavor-cartpage-btn-primary:hover {
    background: var(--fcp-primary-hover);
    transform: translateY(-2px);
    box-shadow: var(--fcp-shadow-md);
    color: white;
}

.flavor-cartpage-btn-primary:hover svg {
    transform: translateX(4px);
}

.flavor-cartpage-btn-primary:active {
    transform: translateY(0);
}

.flavor-cartpage-btn-checkout {
    padding: 18px 28px;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: var(--fcp-radius);
}

.flavor-cartpage-btn-secondary {
    background: transparent;
    color: var(--fcp-text-muted);
    border: 1px solid var(--fcp-border);
}

.flavor-cartpage-btn-secondary:hover {
    border-color: var(--fcp-primary);
    color: var(--fcp-primary);
    background: var(--fcp-primary-light);
}

.flavor-cartpage-btn-secondary:hover svg {
    transform: translateX(-4px);
}

/* Trust Badges - 2026 with Soft Background */
.flavor-cartpage-trust {
    padding-top: 28px;
    border-top: 1px solid var(--fcp-border);
}

.flavor-cartpage-trust-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 0;
    font-size: 14px;
    color: var(--fcp-text-muted);
    transition: var(--fcp-transition-fast);
}

.flavor-cartpage-trust-item:hover {
    color: var(--fcp-text);
}

.flavor-cartpage-trust-item:not(:last-child) {
    border-bottom: 1px solid #f1f5f9;
}

.flavor-cartpage-trust-item svg {
    width: 22px;
    height: 22px;
    color: var(--fcp-primary);
    flex-shrink: 0;
    transition: var(--fcp-transition-fast);
}

.flavor-cartpage-trust-item:hover svg {
    transform: scale(1.1);
}

/* ========================================
   Empty Cart - 2026 Clean
   ======================================== */
.flavor-cartpage-empty {
    text-align: center;
    padding: 80px 40px;
    background: var(--fcp-white);
    border-radius: var(--fcp-radius-xl);
    max-width: 480px;
    margin: 40px auto;
    border: 1px solid var(--fcp-border);
}

.flavor-cartpage-empty-icon {
    margin-bottom: 24px;
}

.flavor-cartpage-empty-icon svg {
    width: 100px;
    height: 100px;
    color: #d1d5db;
}

.flavor-cartpage-empty-title {
    font-size: 26px;
    font-weight: 700;
    color: var(--fcp-text);
    margin: 0 0 12px;
}

.flavor-cartpage-empty-text {
    font-size: 16px;
    color: var(--fcp-text-muted);
    margin-bottom: 32px;
    line-height: 1.6;
}

/* ========================================
   Responsive Design - 2026 Enhanced
   ======================================== */

/* Tablet Landscape (1024px) */
@media (max-width: 1024px) {
    .flavor-cartpage {
        gap: 32px;
        padding: 32px 24px;
    }
    
    .flavor-cartpage-sidebar {
        width: 340px;
    }
    
    .flavor-cartpage-product-image {
        width: 100px;
        height: 100px;
    }
    
    .flavor-cartpage-product {
        padding: 20px;
    }
    
    .flavor-cartpage-summary {
        padding: 28px;
    }
}

/* Tablet Portrait (991px) - Stack layout */
@media (max-width: 991px) {
    .flavor-cartpage,
    .flavor-cartpage-two-column {
        flex-direction: column;
        gap: 24px;
    }
    
    .flavor-cartpage-main,
    .flavor-cartpage-sidebar {
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 100% !important;
    }
    
    .flavor-cartpage-summary {
        position: static;
        border-radius: var(--fcp-radius-lg);
    }
    
    /* Tablet - product card horizontal */
    .flavor-cartpage-product {
        flex-direction: row;
        align-items: flex-start;
    }
    
    .flavor-cartpage-product-image {
        width: 110px;
        height: 110px;
    }
    
    .flavor-cartpage-product-footer {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
}

/* Mobile Large (768px) */
@media (max-width: 768px) {
    .flavor-cartpage {
        padding: 20px 16px;
        gap: 16px;
    }
    
    .flavor-cartpage-title {
        font-size: 24px;
        font-weight: 800;
    }
    
    .flavor-cartpage-count {
        font-size: 22px;
        color: var(--fcp-primary);
    }
    
    /* Product card - premium mobile style */
    .flavor-cartpage-product {
        padding: 16px;
        gap: 0;
        border-radius: 16px;
        background: var(--fcp-white);
        border: 1px solid var(--fcp-border);
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
        flex-direction: column;
    }
    
    /* Image centered at top */
    .flavor-cartpage-product-image {
        width: 120px;
        height: 120px;
        border-radius: 12px;
        flex-shrink: 0;
        margin: 0 auto 16px auto;
    }
    
    /* Product info below image */
    .flavor-cartpage-product-info {
        flex: 1;
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 6px;
        text-align: center;
    }
    
    .flavor-cartpage-product-header {
        display: flex;
        justify-content: center;
        align-items: flex-start;
        gap: 8px;
        position: static !important;
    }
    
    .flavor-cartpage-product-content {
        position: static !important;
    }
    
    .flavor-cartpage-product-name {
        font-size: 15px;
        font-weight: 600;
        line-height: 1.4;
        color: var(--fcp-text);
    }
    
    /* Product rules tags - mobile centered */
    .flavor-cartpage-product-rules {
        justify-content: center;
        margin: 6px 0;
    }
    
    .flavor-cartpage-rule-tag {
        padding: 3px 8px;
        font-size: 10px;
    }
    
    .flavor-cartpage-rule-tag svg {
        width: 10px;
        height: 10px;
    }
    
    /* Remove button - top right corner on mobile */
    .flavor-cartpage-product-remove {
        position: absolute !important;
        top: 8px;
        right: 8px;
        width: 28px;
        height: 28px;
        min-width: 28px;
        border-radius: 50%;
        background: rgba(239, 68, 68, 0.1);
        border: none !important;
        color: #ef4444;
        z-index: 20 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        transition: all 0.2s ease !important;
    }

    .flavor-cartpage-product-remove:hover {
        background: #ef4444;
        color: #ffffff;
        transform: scale(1.1) !important;
    }

    .flavor-cartpage-product-remove svg {
        width: 14px;
        height: 14px;
    }
    
    .flavor-cartpage-product-remove span {
        font-size: 13px;
        line-height: 1 !important;
        font-weight: 600;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        height: 100% !important;
    }

    /* Hide remove button from header on mobile - it's now absolutely positioned */
    .flavor-cartpage-product-header {
        padding-right: 0 !important;
        font-weight: 500;
    }
    
    /* Footer: qty + total - centered */
    .flavor-cartpage-product-footer {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        padding-top: 14px;
        border-top: 1px solid #f3f4f6;
        gap: 16px;
        margin-top: 12px;
    }
    
    .flavor-cartpage-product-total {
        font-size: 18px;
        font-weight: 700;
        color: var(--fcp-text);
    }
    
    /* Quantity controls - modern clean */
    .flavor-cartpage-qty {
        display: inline-flex;
        align-items: center;
        padding: 0;
        border-radius: 10px;
        background: transparent;
        border: 1.5px solid var(--fcp-border);
        overflow: hidden;
    }
    
    .flavor-cartpage-qty-btn {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 38px;
        height: 38px;
        min-width: 38px;
        font-size: 18px;
        font-weight: 500;
        border-radius: 0;
        background: #f9fafb;
        border: none;
        color: var(--fcp-text);
        transition: all 0.15s ease;
        padding: 0 !important;
        margin: 0 !important;
        line-height: 1 !important;
    }
    
    .flavor-cartpage-qty-btn:hover {
        background: var(--fcp-primary);
        color: white;
    }
    
    .flavor-cartpage-qty-btn:first-child {
        border-right: 1px solid var(--fcp-border);
    }
    
    .flavor-cartpage-qty-btn:last-child {
        border-left: 1px solid var(--fcp-border);
    }
    
    .flavor-cartpage-qty-input {
        width: 44px;
        height: 38px;
        font-size: 15px;
        font-weight: 600;
        text-align: center;
        border: none;
        background: white;
        color: var(--fcp-text);
    }
    
    /* Quantity badge on image */
    .flavor-cartpage-qty-badge {
        width: 24px;
        height: 24px;
        font-size: 12px;
        font-weight: 700;
        top: -6px;
        right: -6px;
    }
    
    /* Coupon */
    .flavor-cartpage-coupon {
        border-radius: 16px;
        margin-bottom: 20px;
    }
    
    .flavor-cartpage-coupon-toggle {
        padding: 16px 18px;
        font-size: 14px;
    }
    
    .flavor-cartpage-coupon-content {
        padding: 0 18px 18px;
    }
    
    .flavor-cartpage-coupon-form {
        flex-direction: column;
        gap: 10px;
    }
    
    .flavor-cartpage-coupon-input {
        padding: 14px 16px;
        font-size: 14px;
        border-radius: 10px;
    }
    
    .flavor-cartpage-coupon-btn {
        padding: 14px 20px;
        border-radius: 10px;
        width: 100%;
    }
    
    /* Upsells */
    .flavor-cartpage-upsells-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    
    /* Summary */
    .flavor-cartpage-summary {
        padding: 24px 20px;
        border-radius: 20px;
    }
    
    .flavor-cartpage-summary-header {
        margin-bottom: 20px;
        padding-bottom: 16px;
    }
    
    .flavor-cartpage-summary-title {
        font-size: 18px;
    }
    
    .flavor-cartpage-shipping-progress {
        padding: 14px;
        border-radius: 12px;
        margin-bottom: 20px;
    }
    
    .flavor-cartpage-shipping-text {
        font-size: 13px;
        margin-bottom: 10px;
    }
    
    .flavor-cartpage-progress-bar {
        height: 6px;
    }
    
    /* Totals on mobile */
    .flavor-cartpage-totals {
        margin-bottom: 20px;
    }
    
    .flavor-cartpage-totals-row {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        padding: 12px 0;
        width: 100%;
    }
    
    .flavor-cartpage-totals-label,
    .flavor-cartpage-totals-value {
        font-size: 14px;
        white-space: nowrap;
    }
    
    .flavor-cartpage-totals-final {
        padding-top: 16px;
    }
    
    .flavor-cartpage-totals-final .flavor-cartpage-totals-label {
        font-size: 15px;
    }
    
    .flavor-cartpage-totals-final .flavor-cartpage-totals-value {
        font-size: 20px;
    }
    
    /* Buttons */
    .flavor-cartpage-actions {
        gap: 10px;
        margin-bottom: 20px;
    }
    
    .flavor-cartpage-btn {
        padding: 14px 20px;
        font-size: 14px;
        border-radius: 12px;
    }
    
    .flavor-cartpage-btn-checkout {
        padding: 16px 20px;
        font-size: 14px;
    }
    
    .flavor-cartpage-btn-secondary {
        padding: 12px 16px;
        font-size: 13px;
    }
    
    /* Trust badges */
    .flavor-cartpage-trust {
        padding-top: 20px;
    }
    
    .flavor-cartpage-trust-item {
        padding: 12px 0;
        gap: 12px;
        font-size: 13px;
    }
    
    .flavor-cartpage-trust-item svg {
        width: 18px;
        height: 18px;
    }
    
    /* Empty cart */
    .flavor-cartpage-empty {
        padding: 50px 24px;
        margin: 20px auto;
        border-radius: 20px;
    }
    
    .flavor-cartpage-empty-icon svg {
        width: 80px;
        height: 80px;
    }
    
    .flavor-cartpage-empty-title {
        font-size: 22px;
    }
    
    .flavor-cartpage-empty-text {
        font-size: 15px;
        margin-bottom: 24px;
    }
}

/* Mobile Small (480px) */
@media (max-width: 480px) {
    .flavor-cartpage {
        padding: 16px 12px;
        gap: 12px;
    }
    
    .flavor-cartpage-header {
        margin-bottom: 12px;
    }
    
    .flavor-cartpage-title {
        font-size: 20px;
    }
    
    .flavor-cartpage-count {
        font-size: 18px;
    }
    
    /* Product card - compact horizontal */
    .flavor-cartpage-product {
        padding: 14px;
        gap: 0;
        border-radius: 14px;
    }
    
    .flavor-cartpage-product-image {
        width: 80px;
        height: 80px;
        border-radius: 10px;
    }
    
    .flavor-cartpage-product-name {
        font-size: 14px;
        line-height: 1.35;
    }
    
    .flavor-cartpage-product-price-single {
        font-size: 13px;
    }
    
    .flavor-cartpage-product-footer {
        padding-top: 12px;
        gap: 8px;
    }
    
    .flavor-cartpage-product-total {
        font-size: 16px;
        font-weight: 700;
    }
    
    /* Quantity - compact */
    .flavor-cartpage-qty {
        border-width: 1px;
    }
    
    .flavor-cartpage-qty-btn {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        font-size: 16px !important;
    }
    
    .flavor-cartpage-qty-input {
        width: 38px;
        height: 34px;
        font-size: 14px;
    }
    
    .flavor-cartpage-qty-badge {
        width: 22px;
        height: 22px;
        font-size: 11px;
        top: -5px;
        right: -5px;
    }
    
    /* Remove button - top right corner on small mobile */
    .flavor-cartpage-product-remove {
        position: absolute !important;
        top: 6px;
        right: 6px;
        width: 26px;
        height: 26px;
        min-width: 26px;
        border-radius: 50%;
        z-index: 20 !important;
        background: rgba(239, 68, 68, 0.1);
        color: #ef4444;
    }
    
    .flavor-cartpage-product-remove span {
        font-size: 11px;
        font-weight: 600;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        height: 100% !important;
    }

    .flavor-cartpage-product-remove svg {
        width: 12px;
        height: 12px;
    }
    
    /* Summary compact */
    .flavor-cartpage-summary {
        padding: 20px 16px;
        border-radius: 16px;
    }
    
    .flavor-cartpage-summary-title {
        font-size: 17px;
    }
    
    .flavor-cartpage-shipping-progress {
        padding: 12px;
        margin-bottom: 16px;
    }
    
    .flavor-cartpage-shipping-text {
        font-size: 12px;
    }
    
    .flavor-cartpage-totals-final .flavor-cartpage-totals-value {
        font-size: 20px;
    }
    
    /* Buttons full width */
    .flavor-cartpage-btn {
        width: 100%;
        padding: 14px 16px;
        font-size: 13px;
    }
    
    .flavor-cartpage-btn-checkout {
        padding: 14px 16px;
        font-size: 13px;
    }
    
    /* Trust badges compact */
    .flavor-cartpage-trust-item {
        padding: 10px 0;
        gap: 10px;
        font-size: 12px;
    }
    
    .flavor-cartpage-trust-item svg {
        width: 16px;
        height: 16px;
    }
    
    /* Empty cart compact */
    .flavor-cartpage-empty {
        padding: 40px 20px;
        margin: 16px auto;
    }
    
    .flavor-cartpage-empty-icon svg {
        width: 70px;
        height: 70px;
    }
    
    .flavor-cartpage-empty-title {
        font-size: 20px;
    }
    
    .flavor-cartpage-empty-text {
        font-size: 14px;
    }
    
    /* Sticky checkout mobile small */
    .flavor-cartpage-sticky-checkout {
        padding: 12px 16px;
        padding-bottom: calc(12px + env(safe-area-inset-bottom));
    }
    
    .flavor-cartpage-sticky-checkout-inner {
        gap: 12px;
    }
    
    .flavor-cartpage-sticky-checkout-label {
        font-size: 11px;
    }
    
    .flavor-cartpage-sticky-checkout-total {
        font-size: 16px;
    }
    
    .flavor-cartpage-sticky-checkout .flavor-cartpage-btn-checkout {
        padding: 12px 16px;
        font-size: 12px;
        border-radius: 10px;
    }
}

/* ========================================
   WOOFUNNELS INSPIRED FEATURES - 2026 Enhanced
   ======================================== */

/* Shimmer Loading Animation - 2026 Premium */
@keyframes flavor-shimmer {
    0% {
        background-position: -200% 0;
    }
    100% {
        background-position: 200% 0;
    }
}

@keyframes flavor-pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.6;
    }
}

.flavor-cartpage-loading {
    position: relative;
    pointer-events: none;
}

.flavor-cartpage-loading::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.8) 50%,
        rgba(255, 255, 255, 0) 100%
    );
    background-size: 200% 100%;
    animation: flavor-shimmer 1.2s infinite;
    border-radius: inherit;
    z-index: 10;
}

.flavor-cartpage-product.is-updating {
    opacity: 0.7;
    position: relative;
    animation: flavor-pulse 1s infinite;
}

.flavor-cartpage-product.is-updating::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(107, 124, 63, 0.1) 50%,
        transparent 100%
    );
    background-size: 200% 100%;
    animation: flavor-shimmer 1s infinite;
    border-radius: inherit;
    pointer-events: none;
}

/* Quantity Badge on Product Image - 2026 Clean */
.flavor-cartpage-qty-badge {
    position: absolute;
    top: -8px;
    right: -8px;
    min-width: 26px;
    height: 26px;
    padding: 0 6px;
    background: var(--fcp-primary);
    color: white !important;
    font-size: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    z-index: 10;
    border: 2px solid white;
    line-height: 1;
}

.flavor-cartpage-product:hover .flavor-cartpage-qty-badge {
    transform: scale(1.05);
}

/* Sale/Savings Display */
.flavor-cartpage-product-savings {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
}

.flavor-cartpage-product-original-price {
    font-size: 13px;
    color: #9ca3af;
    text-decoration: line-through;
}

.flavor-cartpage-product-savings-amount {
    font-size: 12px;
    font-weight: 600;
    color: var(--fcp-success);
    background: #dcfce7;
    padding: 2px 8px;
    border-radius: 4px;
}

/* Collapsible Order Summary for Mobile - 2026 Clean */
.flavor-cartpage-summary-toggle {
    display: none;
    width: 100%;
    padding: 16px 20px;
    background: var(--fcp-white);
    border: 1px solid var(--fcp-border);
    border-radius: var(--fcp-radius);
    cursor: pointer;
    font-size: 15px;
    font-weight: 600;
    color: var(--fcp-text);
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
    transition: all 0.2s ease;
}

.flavor-cartpage-summary-toggle:hover {
    border-color: var(--fcp-primary);
}

.flavor-cartpage-summary-toggle-left {
    display: flex;
    align-items: center;
    gap: 12px;
}

.flavor-cartpage-summary-toggle-left svg {
    width: 22px;
    height: 22px;
    color: var(--fcp-primary);
}

.flavor-cartpage-summary-toggle-total {
    font-weight: 800;
    color: var(--fcp-primary);
    font-size: 16px;
}

.flavor-cartpage-summary-toggle-arrow {
    width: 20px;
    height: 20px;
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.flavor-cartpage-summary-toggle.is-open .flavor-cartpage-summary-toggle-arrow {
    transform: rotate(180deg);
}

/* Sticky Mobile Checkout Button - 2026 Clean */
.flavor-cartpage-sticky-checkout {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--fcp-white);
    padding: 16px 20px;
    padding-bottom: calc(16px + env(safe-area-inset-bottom));
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.08);
    z-index: 999;
    border-top: 1px solid var(--fcp-border);
}

@keyframes slideUpIn {
    from {
        transform: translateY(100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.flavor-cartpage-sticky-checkout-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    max-width: 100%;
}

.flavor-cartpage-sticky-checkout-info {
    flex: 0 0 auto;
    min-width: 80px;
}

.flavor-cartpage-sticky-checkout-label {
    font-size: 12px;
    color: var(--fcp-text-muted);
    margin-bottom: 2px;
    font-weight: 500;
    white-space: nowrap;
}

.flavor-cartpage-sticky-checkout-total {
    font-size: 18px;
    font-weight: 700;
    color: var(--fcp-primary);
    white-space: nowrap;
}

.flavor-cartpage-sticky-checkout .flavor-cartpage-btn-checkout {
    flex: 1;
    padding: 14px 20px;
    font-size: 13px;
    white-space: nowrap;
    border-radius: 14px;
}

/* Mobile Summary Accordion - 2026 */
@media (max-width: 991px) {
    .flavor-cartpage-summary-toggle {
        display: flex;
    }
    
    .flavor-cartpage-summary {
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        padding: 0 !important;
        margin: 0;
        border: none !important;
        box-shadow: none !important;
        transition: all 0.45s cubic-bezier(0.22, 1, 0.36, 1);
    }
    
    .flavor-cartpage-sidebar.is-summary-open .flavor-cartpage-summary {
        max-height: 2000px;
        opacity: 1;
        padding: 24px !important;
        margin-bottom: 16px;
        border: 1px solid var(--fcp-border) !important;
        box-shadow: var(--fcp-shadow-md) !important;
    }
    
    .flavor-cartpage-sticky-checkout {
        display: block;
        animation: slideUpIn 0.3s ease forwards;
    }
    
    /* Add padding at bottom to prevent content being hidden by sticky button */
    .flavor-cartpage-wrapper {
        padding-bottom: 100px;
    }
    
    /* Ensure sidebar has proper width on mobile */
    .flavor-cartpage-sidebar {
        width: 100% !important;
        min-width: 100% !important;
    }
}

/* Express Checkout / Or Divider - 2026 */
.flavor-cartpage-divider {
    display: flex;
    align-items: center;
    text-align: center;
    margin: 28px 0;
    color: var(--fcp-text-muted);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 600;
}

.flavor-cartpage-divider::before,
.flavor-cartpage-divider::after {
    content: '';
    flex: 1;
    border-bottom: 1px solid var(--fcp-border);
}

.flavor-cartpage-divider span {
    padding: 0 20px;
    background: white;
}

/* Progress Steps (Multi-step checkout hint) - 2026 */
.flavor-cartpage-steps {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-bottom: 40px;
}

.flavor-cartpage-step {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: var(--fcp-text-muted);
    font-weight: 500;
}

.flavor-cartpage-step-number {
    width: 32px;
    height: 32px;
    border-radius: var(--fcp-radius-full);
    background: var(--fcp-secondary);
    color: var(--fcp-text-muted);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 13px;
    transition: var(--fcp-transition);
    border: 2px solid transparent;
}

.flavor-cartpage-step.is-active .flavor-cartpage-step-number {
    background: var(--fcp-gradient-primary);
    color: white;
    box-shadow: var(--fcp-shadow-primary);
}

.flavor-cartpage-step.is-completed .flavor-cartpage-step-number {
    background: var(--fcp-gradient-success);
    color: white;
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
}

.flavor-cartpage-step-connector {
    width: 50px;
    height: 2px;
    background: var(--fcp-border);
    border-radius: 1px;
    transition: var(--fcp-transition);
}

.flavor-cartpage-step.is-completed + .flavor-cartpage-step-connector,
.flavor-cartpage-step.is-active + .flavor-cartpage-step-connector {
    background: var(--fcp-gradient-primary);
}

/* Success Animation for Add to Cart - 2026 Enhanced */
@keyframes flavor-success-pulse {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.5);
    }
    50% {
        transform: scale(1.1);
    }
    70% {
        box-shadow: 0 0 0 20px rgba(16, 185, 129, 0);
    }
    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);
    }
}

.flavor-cartpage-upsell-add.is-added {
    background: var(--fcp-gradient-success) !important;
    animation: flavor-success-pulse 0.7s cubic-bezier(0.22, 1, 0.36, 1);
    border-color: transparent !important;
}

.flavor-cartpage-upsell-add.is-added svg {
    stroke: white;
    animation: checkRotate 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes checkRotate {
    0% { transform: scale(0) rotate(-180deg); }
    100% { transform: scale(1) rotate(0deg); }
}

/* Form Validation States - 2026 */
.flavor-cartpage-coupon-input:focus {
    border-color: var(--fcp-primary);
    box-shadow: 0 0 0 4px var(--fcp-primary-light);
    outline: none;
}

.flavor-cartpage-coupon-input.is-error {
    border-color: var(--fcp-danger);
    box-shadow: 0 0 0 4px var(--fcp-danger-light);
    animation: shake 0.5s cubic-bezier(0.36, 0.07, 0.19, 0.97);
}

@keyframes shake {
    0%, 100% { transform: translateX(0); }
    10%, 50%, 90% { transform: translateX(-6px); }
    30%, 70% { transform: translateX(6px); }
}

.flavor-cartpage-coupon-input.is-success {
    border-color: var(--fcp-success);
    box-shadow: 0 0 0 4px var(--fcp-success-light);
}

/* Button Icons Option */
.flavor-cartpage-btn-checkout .btn-icon-lock,
.flavor-cartpage-btn-checkout .btn-icon-check {
    display: none;
}

.flavor-cartpage-btn-checkout.icon-lock .btn-icon-arrow { display: none; }
.flavor-cartpage-btn-checkout.icon-lock .btn-icon-lock { display: inline-block; }

.flavor-cartpage-btn-checkout.icon-check .btn-icon-arrow { display: none; }
.flavor-cartpage-btn-checkout.icon-check .btn-icon-check { display: inline-block; }

/* ========================================
   Flavor Checkout Page - 2026 Modern Design
   ======================================== */

.flavor-checkout {
    --fco-primary: #6b7c3f;
    --fco-secondary: #f8f9f5;
    --fco-text: #1a1a1a;
    --fco-text-muted: #6b7280;
    --fco-border: #e5e7eb;
    --fco-success: #10b981;
    --fco-error: #ef4444;
    --fco-white: #ffffff;
    --fco-radius: 10px;
    --fco-radius-lg: 16px;
    --fco-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    --fco-transition: all 0.3s ease;
    
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    color: var(--fco-text);
    line-height: 1.6;
}

/* Prevent layout shift during AJAX updates */
.flavor-checkout.processing {
    pointer-events: none;
    opacity: 0.7;
    transition: opacity 0.2s ease;
}

.flavor-checkout.processing::after {
    content: '';
    position: fixed;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    margin: -20px 0 0 -20px;
    border: 3px solid #e0e0e0;
    border-top-color: var(--fco-primary, #000);
    border-radius: 50%;
    animation: flavor-checkout-spin 0.8s linear infinite;
    z-index: 9999;
}

@keyframes flavor-checkout-spin {
    to { transform: rotate(360deg); }
}

.flavor-checkout-sidebar {
    min-height: 400px; /* Prevent collapse during updates */
    transition: min-height 0.3s ease;
}

.flavor-checkout-totals {
    min-height: 120px; /* Prevent jump when totals update */
    transition: min-height 0.3s ease;
}

.flavor-checkout-shipping-methods {
    min-height: 80px; /* Prevent jump when shipping updates */
    transition: min-height 0.3s ease;
}

/* Layout */
.flavor-checkout.layout-two-column {
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 32px;
    max-width: 1400px;
    margin: 0 auto;
    padding: 40px 20px;
}

/* Hide WooCommerce notices - handled by separate Notices Widget */
.flavor-checkout > .woocommerce-notices-wrapper,
.flavor-checkout .woocommerce-notices-wrapper,
.flavor-checkout .woocommerce-NoticeGroup,
.flavor-checkout .woocommerce-NoticeGroup-updateOrderReview,
.flavor-checkout .woocommerce-NoticeGroup-checkout,
.flavor-checkout > .woocommerce-error,
.flavor-checkout > .woocommerce-message,
.flavor-checkout > .woocommerce-info {
    display: none !important;
}

.flavor-checkout.layout-two-column.order-left {
    grid-template-columns: 420px 1fr;
}

.flavor-checkout.layout-two-column.order-left .flavor-checkout-sidebar {
    order: -1;
}

.flavor-checkout.layout-one-column {
    max-width: 800px;
    margin: 0 auto;
    padding: 40px 20px;
}

.flavor-checkout-form {
    display: contents;
}

/* Main Column */
.flavor-checkout-main {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Sidebar */
.flavor-checkout-sidebar {
    position: relative;
}

.flavor-checkout-order-review {
    background: var(--fco-secondary);
    border-radius: var(--fco-radius-lg);
    padding: 28px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.flavor-checkout-order-review.is-sticky {
    position: sticky;
    top: 100px;
}

/* Sections */
.flavor-checkout-section {
    background: var(--fco-white);
    border-radius: var(--fco-radius-lg);
    padding: 28px;
    border: 1px solid var(--fco-border);
}

.flavor-checkout-section-title {
    font-size: 20px;
    font-weight: 700;
    color: var(--fco-text);
    margin: 0 0 24px 0;
    display: flex;
    align-items: center;
    gap: 12px;
    letter-spacing: -0.02em;
}

.flavor-checkout-section-title svg {
    width: 24px;
    height: 24px;
    color: var(--fco-primary);
}

.flavor-checkout-section-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: var(--fco-primary);
    color: var(--fco-white);
    border-radius: 50%;
    font-size: 14px;
    font-weight: 700;
}

/* Login Notice */
.flavor-checkout-login-notice {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    background: linear-gradient(135deg, #e0f2fe 0%, #bae6fd 100%);
    border-radius: var(--fco-radius);
    font-size: 14px;
    color: #0369a1;
}

.flavor-checkout-login-notice svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.flavor-checkout-login-notice a {
    color: #0369a1;
    font-weight: 600;
    text-decoration: underline;
}

/* Coupon Section */
.flavor-checkout-coupon {
    padding: 0;
    border: 1px solid var(--fco-border);
    border-radius: var(--fco-radius);
    overflow: hidden;
}

.flavor-checkout-coupon-toggle {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    color: var(--fco-text);
    transition: var(--fco-transition);
    background: var(--fco-white);
    user-select: none;
}

.flavor-checkout-coupon-toggle:hover {
    background: var(--fco-secondary);
}

.flavor-checkout-coupon-toggle svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    color: var(--fco-primary);
}

.flavor-checkout-coupon-arrow {
    margin-left: auto;
    transition: transform 0.3s ease;
}

.flavor-checkout-coupon-toggle.is-open .flavor-checkout-coupon-arrow {
    transform: rotate(180deg);
}

.flavor-checkout-coupon-form {
    display: flex;
    gap: 8px;
    padding: 12px 16px 16px;
    background: var(--fco-secondary);
    border-top: 1px solid var(--fco-border);
}

.flavor-checkout-coupon-input {
    flex: 1;
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid var(--fco-border);
    border-radius: var(--fco-radius);
    font-size: 14px;
    transition: var(--fco-transition);
    background: var(--fco-white);
}

.flavor-checkout-coupon-input:focus {
    outline: none;
    border-color: var(--fco-primary);
    box-shadow: 0 0 0 3px rgba(107, 124, 63, 0.1);
}

.flavor-checkout-coupon-btn {
    padding: 10px 16px;
    background: var(--fco-primary);
    color: var(--fco-white);
    border: none;
    border-radius: var(--fco-radius);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--fco-transition);
    white-space: nowrap;
    flex-shrink: 0;
}

.flavor-checkout-coupon-btn:hover {
    background: #5a6a35;
}

/* Form Styles */
.flavor-checkout .woocommerce-billing-fields,
.flavor-checkout .woocommerce-shipping-fields {
    margin: 0;
}

.flavor-checkout .woocommerce-billing-fields__field-wrapper,
.flavor-checkout .woocommerce-shipping-fields__field-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.flavor-checkout .form-row {
    margin: 0;
    padding: 0;
}

.flavor-checkout .form-row-wide {
    grid-column: 1 / -1;
}

.flavor-checkout .form-row-first {
    grid-column: 1;
}

.flavor-checkout .form-row-last {
    grid-column: 2;
}

/* Form labels only - exclude special card labels */
.flavor-checkout .woocommerce-billing-fields label,
.flavor-checkout .woocommerce-shipping-fields label,
.flavor-checkout .flavor-checkout-business-fields label,
.flavor-checkout .form-row > label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--fco-text);
    margin-bottom: 6px;
}

.flavor-checkout label .required {
    color: var(--fco-error);
}

.flavor-checkout input[type="text"],
.flavor-checkout input[type="email"],
.flavor-checkout input[type="tel"],
.flavor-checkout input[type="password"],
.flavor-checkout input[type="number"],
.flavor-checkout select,
.flavor-checkout textarea {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid var(--fco-border);
    border-radius: var(--fco-radius);
    font-size: 15px;
    color: var(--fco-text);
    background: var(--fco-white);
    transition: var(--fco-transition);
    -webkit-appearance: none;
    appearance: none;
}

.flavor-checkout input:focus,
.flavor-checkout select:focus,
.flavor-checkout textarea:focus {
    outline: none;
    border-color: var(--fco-primary);
    box-shadow: 0 0 0 3px rgba(107, 124, 63, 0.1);
}

.flavor-checkout input.input-text:invalid,
.flavor-checkout .woocommerce-invalid input,
.flavor-checkout .flavor-field-error input,
.flavor-checkout .flavor-field-error select,
.flavor-checkout .flavor-field-error textarea,
.flavor-checkout .flavor-field-error .select2-container--default .select2-selection--single {
    border-color: var(--fco-error) !important;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1) !important;
}

.flavor-checkout .flavor-field-error label {
    color: var(--fco-error);
}

.flavor-field-error-msg {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    padding: 6px 10px;
    font-size: 13px;
    font-weight: 500;
    color: var(--fco-error);
    background: #fef2f2;
    border-radius: 6px;
    line-height: 1.4;
    animation: flavorFieldErrorIn 0.3s ease;
}

.flavor-field-error-msg svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    stroke: var(--fco-error);
}

@keyframes flavorFieldErrorIn {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes flavorFieldShake {
    0%, 100% { transform: translateX(0); }
    20% { transform: translateX(-6px); }
    40% { transform: translateX(6px); }
    60% { transform: translateX(-4px); }
    80% { transform: translateX(4px); }
}

.flavor-checkout .flavor-field-error {
    animation: flavorFieldShake 0.4s ease;
}

.flavor-checkout select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 18px;
    padding-right: 44px;
}

.flavor-checkout textarea {
    min-height: 100px;
    resize: vertical;
}

.flavor-checkout .select2-container {
    width: 100% !important;
}

.flavor-checkout .select2-container--default .select2-selection--single {
    height: auto;
    padding: 14px 16px;
    border: 1px solid var(--fco-border);
    border-radius: var(--fco-radius);
}

.flavor-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 1.5;
    padding: 0;
    color: var(--fco-text);
}

.flavor-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100%;
    right: 12px;
}

/* Notes Section */
.flavor-checkout-notes .flavor-checkout-section-title {
    margin-bottom: 16px;
}

.flavor-checkout-textarea {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid var(--fco-border);
    border-radius: var(--fco-radius);
    font-size: 15px;
    min-height: 100px;
    resize: vertical;
    transition: var(--fco-transition);
}

.flavor-checkout-textarea:focus {
    outline: none;
    border-color: var(--fco-primary);
    box-shadow: 0 0 0 3px rgba(107, 124, 63, 0.1);
}

/* Order Review - Products */
.flavor-checkout-products {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--fco-border);
}

.flavor-checkout-product {
    display: flex;
    align-items: center;
    gap: 14px;
}

.flavor-checkout-product-image {
    position: relative;
    width: 60px;
    height: 60px;
    flex-shrink: 0;
    border-radius: 10px;
    overflow: hidden;
    background: var(--fco-white);
    border: 1px solid var(--fco-border);
}

.flavor-checkout-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.flavor-checkout-product-qty {
    position: absolute;
    top: -6px;
    right: -6px;
    width: 22px;
    height: 22px;
    background: var(--fco-primary);
    color: var(--fco-white);
    font-size: 11px;
    font-weight: 700;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.flavor-checkout-product-info {
    flex: 1;
    min-width: 0;
}

.flavor-checkout-product-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--fco-text);
    line-height: 1.4;
    margin-bottom: 2px;
}

.flavor-checkout-product-meta {
    font-size: 12px;
    color: var(--fco-text-muted);
}

.flavor-checkout-product-price {
    font-size: 14px;
    font-weight: 700;
    color: var(--fco-text);
    white-space: nowrap;
}

/* Order Review - Totals */
.flavor-checkout-totals {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 20px 0;
    border-bottom: 1px solid var(--fco-border);
}

.flavor-checkout-totals-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    flex-wrap: nowrap;
    gap: 12px;
}

.flavor-checkout-totals-row span:first-child {
    color: var(--fco-text-muted);
    flex-shrink: 1;
    min-width: 0;
}

.flavor-checkout-totals-row span:last-child {
    font-weight: 600;
    color: var(--fco-text);
    flex-shrink: 0;
    white-space: nowrap;
    text-align: right;
}

.flavor-checkout-totals-discount span:last-child {
    color: var(--fco-success);
}

.flavor-checkout-totals-final {
    padding-top: 12px;
    margin-top: 8px;
    border-top: 2px solid var(--fco-border);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
    gap: 12px;
}

.flavor-checkout-totals-final span:first-child {
    font-size: 16px;
    font-weight: 700;
    color: var(--fco-text);
    flex-shrink: 0;
}

.flavor-checkout-totals-final span:last-child {
    font-size: 22px;
    font-weight: 800;
    color: var(--fco-primary);
    flex-shrink: 0;
    white-space: nowrap;
}

/* WooCommerce price spans inside totals */
.flavor-checkout-totals-row .woocommerce-Price-amount,
.flavor-checkout-totals-row .amount,
.flavor-checkout-totals-final .woocommerce-Price-amount,
.flavor-checkout-totals-final .amount {
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
    white-space: nowrap;
}

.flavor-checkout-totals-row > span:last-child {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.flavor-checkout-shipping-calc {
    font-size: 13px;
}

.flavor-checkout-shipping-calc .woocommerce-shipping-methods {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Payment Section */
.flavor-checkout-payment {
    padding: 0;
    border: none;
    background: transparent;
}

/* Hide WooCommerce default place order button and terms - we have our own */
.flavor-checkout .woocommerce-checkout-payment .place-order,
.flavor-checkout .woocommerce-checkout-payment #place_order,
.flavor-checkout .woocommerce-checkout-payment > .form-row.place-order,
.flavor-checkout .woocommerce-terms-and-conditions-wrapper,
.flavor-checkout .woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper,
.flavor-checkout #payment .place-order {
    display: none !important;
}

.flavor-checkout .flavor-checkout-section-title {
    margin-bottom: 16px;
}

/* Shipping Methods Section - Modern Card Design */
.flavor-checkout-shipping {
    margin-bottom: 24px;
}

.flavor-checkout-shipping-methods {
    background: transparent;
}

.flavor-shipping-options {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Shipping card - must override general label styles */
.flavor-checkout .flavor-shipping-card,
.flavor-shipping-card,
label.flavor-shipping-card {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 16px;
    padding: 20px;
    background: var(--fco-white);
    border: 2px solid var(--fco-border);
    border-radius: 16px;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
    margin-bottom: 0;
}

.flavor-shipping-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: var(--fco-primary);
    transform: scaleY(0);
    transition: transform 0.3s ease;
}

.flavor-shipping-card:hover {
    border-color: var(--fco-primary);
    background: linear-gradient(135deg, rgba(107, 124, 63, 0.03) 0%, rgba(107, 124, 63, 0.08) 100%);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(107, 124, 63, 0.12);
}

.flavor-shipping-card.selected {
    border-color: var(--fco-primary);
    background: linear-gradient(135deg, rgba(107, 124, 63, 0.05) 0%, rgba(107, 124, 63, 0.1) 100%);
    box-shadow: 0 4px 20px rgba(107, 124, 63, 0.15);
}

.flavor-shipping-card.selected::before {
    transform: scaleY(1);
}

.flavor-shipping-card input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.flavor-shipping-card-radio {
    width: 24px;
    height: 24px;
    min-width: 24px;
    border: 2px solid var(--fco-border);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    background: var(--fco-white);
}

.flavor-shipping-card-radio-inner {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--fco-primary);
    transform: scale(0);
    transition: transform 0.2s ease;
}

.flavor-shipping-card.selected .flavor-shipping-card-radio {
    border-color: var(--fco-primary);
}

.flavor-shipping-card.selected .flavor-shipping-card-radio-inner {
    transform: scale(1);
}

.flavor-shipping-card-icon {
    font-size: 28px;
    line-height: 1;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--fco-secondary);
    border-radius: 12px;
    transition: all 0.3s ease;
}

.flavor-shipping-card.selected .flavor-shipping-card-icon {
    background: rgba(107, 124, 63, 0.15);
    transform: scale(1.05);
}

.flavor-shipping-card-content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.flavor-shipping-card-name {
    font-size: 16px;
    font-weight: 700;
    color: var(--fco-text);
    word-break: break-word;
    overflow-wrap: break-word;
}

.flavor-shipping-card-desc {
    font-size: 13px;
    color: var(--fco-text-muted);
    word-break: break-word;
    overflow-wrap: break-word;
}

.flavor-shipping-card-desc.flavor-shipping-free {
    color: #10b981;
    font-weight: 600;
}

.flavor-shipping-card-price {
    text-align: right;
    flex-shrink: 0;
    white-space: nowrap;
}

.flavor-shipping-card-price .woocommerce-Price-amount {
    font-size: 18px;
    font-weight: 700;
    color: var(--fco-primary);
}

.flavor-shipping-free-badge {
    display: inline-block;
    padding: 6px 12px;
    background: linear-gradient(135deg, #10b981 0%, #34d399 100%);
    color: white;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    border-radius: 20px;
    text-transform: uppercase;
}

.flavor-shipping-no-methods {
    padding: 40px 20px;
    text-align: center;
    background: var(--fco-secondary);
    border-radius: 16px;
    border: 2px dashed var(--fco-border);
}

.flavor-shipping-no-icon {
    font-size: 48px;
    display: block;
    margin-bottom: 16px;
    opacity: 0.5;
}

.flavor-shipping-no-methods p {
    margin: 0 0 8px 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--fco-text);
}

.flavor-shipping-no-hint {
    font-size: 13px;
    color: var(--fco-text-muted);
}

/* Mobile responsive */
@media (max-width: 480px) {
    .flavor-shipping-card {
        padding: 16px;
        gap: 12px;
    }
    
    .flavor-shipping-card-icon {
        width: 40px;
        height: 40px;
        font-size: 22px;
    }
    
    .flavor-shipping-card-name {
        font-size: 14px;
    }
    
    .flavor-shipping-card-price .woocommerce-Price-amount {
        font-size: 15px;
    }
}

.flavor-checkout-payment-methods {
    background: var(--fco-white);
    border-radius: var(--fco-radius);
    padding: 4px;
    border: 1px solid var(--fco-border);
}

.flavor-checkout .wc_payment_methods {
    list-style: none;
    margin: 0;
    padding: 0;
}

.flavor-checkout .wc_payment_method {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.flavor-checkout .wc_payment_method > label {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    padding: 16px;
    cursor: pointer;
    border-radius: 8px;
    transition: var(--fco-transition);
    font-weight: 600;
    margin: 0;
}

.flavor-checkout .wc_payment_method > label:hover {
    background: var(--fco-secondary);
}

.flavor-checkout .wc_payment_method input[type="radio"] {
    width: 20px;
    height: 20px;
    accent-color: var(--fco-primary);
}

.flavor-checkout .wc_payment_method .payment_box {
    padding: 16px;
    background: var(--fco-secondary);
    border-radius: 0 0 8px 8px;
    margin-top: 0;
    font-size: 13px;
    color: var(--fco-text-muted);
    width: 100%;
}

/* Place Order Button */
.flavor-checkout-place-order {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 18px 32px;
    background: var(--fco-primary);
    color: var(--fco-white);
    border: none;
    border-radius: var(--fco-radius);
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: var(--fco-transition);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.flavor-checkout-place-order:hover {
    background: #5a6a35;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(107, 124, 63, 0.3);
}

.flavor-checkout-place-order:active {
    transform: translateY(0);
}

.flavor-checkout-place-order svg {
    width: 20px;
    height: 20px;
}

/* Terms Checkbox */
.flavor-checkout-terms {
    margin-bottom: 20px;
}

.flavor-checkout .flavor-checkout-terms label.flavor-checkout-terms-label,
.flavor-checkout-terms-label {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 12px !important;
    cursor: pointer;
    font-size: 14px;
    line-height: 1.5;
    user-select: none;
    width: 100% !important;
}

.flavor-checkout .flavor-checkout-terms-label > .flavor-checkout-terms-checkmark {
    display: inline-flex !important;
    flex-shrink: 0;
}

.flavor-checkout-terms-text {
    flex: 1 1 0% !important;
    display: inline !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
}

.flavor-checkout-terms-checkbox {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.flavor-checkout-terms-checkmark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    min-width: 22px;
    border: 2px solid var(--fco-border);
    border-radius: 6px;
    background: var(--fco-white);
    transition: var(--fco-transition);
    margin-top: 1px;
}

.flavor-checkout-terms-checkmark svg {
    width: 14px;
    height: 14px;
    stroke: var(--fco-white);
    opacity: 0;
    transform: scale(0.5);
    transition: all 0.2s ease;
}

.flavor-checkout-terms-label:hover .flavor-checkout-terms-checkmark {
    border-color: var(--fco-primary);
}

.flavor-checkout-terms-checkbox:checked + .flavor-checkout-terms-checkmark {
    background: var(--fco-primary);
    border-color: var(--fco-primary);
}

.flavor-checkout-terms-checkbox:checked + .flavor-checkout-terms-checkmark svg {
    opacity: 1;
    transform: scale(1);
}

.flavor-checkout-terms-checkbox:focus + .flavor-checkout-terms-checkmark {
    box-shadow: 0 0 0 3px rgba(107, 124, 63, 0.2);
}

.flavor-checkout-terms-text {
    flex: 1;
    color: var(--fco-text);
}

.flavor-checkout-terms-text .required {
    color: var(--fco-error);
    font-weight: 700;
}

.flavor-checkout-terms-link {
    color: var(--fco-primary);
    text-decoration: underline;
    font-weight: 600;
    transition: color 0.2s ease;
}

.flavor-checkout-terms-link:hover {
    color: #5a6a35;
}

.flavor-checkout-terms-error {
    margin-top: 8px;
    padding: 10px 14px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: var(--fco-radius);
    color: var(--fco-error);
    font-size: 13px;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 8px;
}

.flavor-checkout-terms-error::before {
    content: '!';
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    min-width: 18px;
    background: var(--fco-error);
    color: white;
    border-radius: 50%;
    font-size: 12px;
    font-weight: 700;
}

/* Terms checkbox invalid state */
.flavor-checkout-terms.has-error .flavor-checkout-terms-checkmark {
    border-color: var(--fco-error);
    animation: shake 0.5s ease;
}

@keyframes shake {
    0%, 100% { transform: translateX(0); }
    20%, 60% { transform: translateX(-4px); }
    40%, 80% { transform: translateX(4px); }
}

/* ========================================
   Customer Type Selection (Personal/Business)
   ======================================== */

.flavor-checkout-customer-type {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px;
    margin-bottom: 24px;
}

.flavor-checkout .flavor-checkout-customer-type label.flavor-checkout-customer-type-option,
.flavor-checkout-customer-type-option {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 16px 20px;
    background: var(--fco-white);
    border: 2px solid var(--fco-border);
    border-radius: var(--fco-radius);
    cursor: pointer;
    transition: var(--fco-transition);
    position: relative;
    width: auto !important;
}

.flavor-checkout .flavor-checkout-customer-type-option > *,
.flavor-checkout-customer-type-option > * {
    display: inline-flex !important;
    flex-shrink: 0;
}

.flavor-checkout-customer-type-option:hover {
    border-color: var(--fco-primary);
    background: var(--fco-secondary);
}

.flavor-checkout-customer-type-option.is-active {
    border-color: var(--fco-primary);
    background: rgba(107, 124, 63, 0.05);
}

.flavor-checkout-customer-type-option input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.flavor-checkout-customer-type-radio {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    min-width: 22px;
    border: 2px solid var(--fco-border);
    border-radius: 50%;
    background: var(--fco-white);
    transition: var(--fco-transition);
}

.flavor-checkout-customer-type-option.is-active .flavor-checkout-customer-type-radio {
    border-color: var(--fco-primary);
}

.flavor-checkout-customer-type-radio::after {
    content: '';
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--fco-primary);
    transform: scale(0);
    transition: transform 0.2s ease;
}

.flavor-checkout-customer-type-option.is-active .flavor-checkout-customer-type-radio::after {
    transform: scale(1);
}

.flavor-checkout-customer-type-label {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    color: var(--fco-text);
    font-size: 14px;
}

.flavor-checkout-customer-type-label svg {
    width: 20px;
    height: 20px;
    stroke: var(--fco-text-muted);
    transition: stroke 0.2s ease;
}

.flavor-checkout-customer-type-option.is-active .flavor-checkout-customer-type-label svg {
    stroke: var(--fco-primary);
}

/* Business Fields */
.flavor-checkout-business-fields {
    background: var(--fco-secondary);
    border-radius: var(--fco-radius);
    padding: 20px;
    margin-bottom: 24px;
    border: 1px solid var(--fco-border);
    clear: both;
}

.flavor-business-field {
    margin-bottom: 16px;
}

.flavor-business-field:last-child {
    margin-bottom: 0;
}

.flavor-business-field-wide {
    width: 100%;
}

.flavor-business-fields-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px;
}

.flavor-business-field-half {
    width: 100%;
    margin-bottom: 0;
}

.flavor-checkout-business-fields label,
.flavor-business-field label {
    display: block !important;
    margin-bottom: 6px;
    font-weight: 600;
    font-size: 14px;
    color: var(--fco-text);
    width: 100% !important;
}

.flavor-checkout-business-fields input.input-text,
.flavor-business-field input.input-text {
    width: 100% !important;
    padding: 14px 16px;
    border: 1px solid var(--fco-border);
    border-radius: var(--fco-radius);
    font-size: 15px;
    transition: var(--fco-transition);
    background: var(--fco-white);
    box-sizing: border-box;
}

.flavor-checkout-business-fields input.input-text:focus,
.flavor-business-field input.input-text:focus {
    outline: none;
    border-color: var(--fco-primary);
    box-shadow: 0 0 0 3px rgba(107, 124, 63, 0.1);
}

/* ========================================
   Ship to Different Address
   ======================================== */

.flavor-checkout-ship-different {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid var(--fco-border);
}

.flavor-checkout .flavor-checkout-ship-different label.flavor-checkout-ship-different-label,
.flavor-checkout-ship-different-label {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 12px !important;
    cursor: pointer;
    font-size: 15px;
    font-weight: 600;
    color: var(--fco-text);
    user-select: none;
    width: auto !important;
}

.flavor-checkout .flavor-checkout-ship-different-label > *,
.flavor-checkout-ship-different-label > * {
    display: inline-flex !important;
    flex-shrink: 0;
}

.flavor-checkout-ship-different-text {
    white-space: nowrap;
}

.flavor-checkout-ship-different-checkbox {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.flavor-checkout-ship-different-checkmark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    min-width: 24px;
    border: 2px solid var(--fco-border);
    border-radius: 6px;
    background: var(--fco-white);
    transition: var(--fco-transition);
}

.flavor-checkout-ship-different-checkmark svg {
    width: 14px;
    height: 14px;
    stroke: var(--fco-white);
    opacity: 0;
    transform: scale(0.5);
    transition: all 0.2s ease;
}

.flavor-checkout-ship-different-label:hover .flavor-checkout-ship-different-checkmark {
    border-color: var(--fco-primary);
}

.flavor-checkout-ship-different-checkbox:checked + .flavor-checkout-ship-different-checkmark {
    background: var(--fco-primary);
    border-color: var(--fco-primary);
}

.flavor-checkout-ship-different-checkbox:checked + .flavor-checkout-ship-different-checkmark svg {
    opacity: 1;
    transform: scale(1);
}

.flavor-checkout-ship-different-checkbox:focus + .flavor-checkout-ship-different-checkmark {
    box-shadow: 0 0 0 3px rgba(107, 124, 63, 0.2);
}

.flavor-checkout-ship-different-text {
    flex: 1;
}

/* Hide WooCommerce default shipping toggle */
.flavor-checkout .woocommerce-shipping-fields > h3,
.flavor-checkout #ship-to-different-address-checkbox,
.flavor-checkout .woocommerce-shipping-fields #ship-to-different-address-checkbox {
    display: none !important;
}

/* Hide shipping fields that appear inside billing section */
.flavor-checkout-billing .woocommerce-shipping-fields {
    display: none !important;
}

/* Show shipping fields only in the dedicated shipping section */
.flavor-checkout-shipping .woocommerce-shipping-fields {
    display: block !important;
}

/* Hide default "Pirkėjo duomenys" heading from WooCommerce */
.flavor-checkout .woocommerce-billing-fields > h3,
.flavor-checkout .woocommerce-billing-fields__field-wrapper + h3 {
    display: none !important;
}

/* Trust Badges */
.flavor-checkout-trust {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--fco-border);
}

.flavor-checkout-trust-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: var(--fco-text-muted);
}

.flavor-checkout-trust-item svg {
    width: 18px;
    height: 18px;
    color: var(--fco-primary);
}

/* Payment Icons */
.flavor-checkout-payment-icons {
    display: flex;
    justify-content: center;
    gap: 12px;
    padding-top: 16px;
}

.flavor-checkout-payment-icons img {
    height: 24px;
    width: auto;
    opacity: 0.7;
    transition: opacity 0.2s ease;
}

.flavor-checkout-payment-icons img:hover {
    opacity: 1;
}

/* Empty Cart */
.flavor-checkout-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 20px;
    text-align: center;
}

.flavor-checkout-empty-icon {
    width: 120px;
    height: 120px;
    margin-bottom: 24px;
}

.flavor-checkout-empty-icon svg {
    width: 100%;
    height: 100%;
    color: var(--fco-border);
}

.flavor-checkout-empty-title {
    font-size: 28px;
    font-weight: 800;
    color: var(--fco-text);
    margin: 0 0 12px 0;
}

.flavor-checkout-empty-text {
    font-size: 16px;
    color: var(--fco-text-muted);
    margin: 0 0 32px 0;
}

.flavor-checkout-empty-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 32px;
    background: var(--fco-primary);
    color: var(--fco-white);
    text-decoration: none;
    border-radius: var(--fco-radius);
    font-weight: 600;
    transition: var(--fco-transition);
}

.flavor-checkout-empty-btn:hover {
    background: #5a6a35;
    color: var(--fco-white);
    transform: translateY(-2px);
}

/* ========================================
   Checkout - Mobile Responsive
   ======================================== */

@media (max-width: 991px) {
    .flavor-checkout.layout-two-column {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 24px 16px;
    }
    
    .flavor-checkout.layout-two-column.order-left .flavor-checkout-sidebar {
        order: 0;
    }
    
    .flavor-checkout-order-review.is-sticky {
        position: relative;
        top: 0;
    }
}

@media (max-width: 768px) {
    .flavor-checkout .woocommerce-billing-fields__field-wrapper,
    .flavor-checkout .woocommerce-shipping-fields__field-wrapper {
        grid-template-columns: 1fr;
    }
    
    .flavor-checkout .form-row-first,
    .flavor-checkout .form-row-last {
        grid-column: 1;
    }
    
    .flavor-checkout-section {
        padding: 20px;
        border-radius: 12px;
    }
    
    .flavor-checkout-order-review {
        padding: 20px;
        border-radius: 12px;
    }
    
    .flavor-checkout-section-title {
        font-size: 18px;
    }
    
    .flavor-checkout-section-number {
        width: 28px;
        height: 28px;
        font-size: 13px;
    }
    
    .flavor-checkout-product-image {
        width: 50px;
        height: 50px;
    }
    
    .flavor-checkout-product-qty {
        width: 20px;
        height: 20px;
        font-size: 10px;
        top: -5px;
        right: -5px;
    }
    
    .flavor-checkout-totals-final span:last-child {
        font-size: 20px;
    }
    
    .flavor-checkout-place-order {
        padding: 16px 24px;
        font-size: 15px;
    }
    
    .flavor-checkout-trust {
        flex-direction: column;
        align-items: center;
        gap: 12px;
    }
}

@media (max-width: 480px) {
    .flavor-checkout.layout-two-column,
    .flavor-checkout.layout-one-column {
        padding: 16px 12px;
    }
    
    .flavor-checkout-section {
        padding: 16px;
    }
    
    .flavor-checkout-order-review {
        padding: 16px;
    }
    
    .flavor-checkout-section-title {
        font-size: 16px;
        gap: 10px;
    }
    
    .flavor-checkout-coupon-form {
        flex-direction: column;
    }
    
    .flavor-checkout-coupon-btn {
        width: 100%;
    }
    
    .flavor-checkout input[type="text"],
    .flavor-checkout input[type="email"],
    .flavor-checkout input[type="tel"],
    .flavor-checkout input[type="password"],
    .flavor-checkout select {
        padding: 12px 14px;
        font-size: 16px; /* Prevent zoom on iOS */
    }
    
    .flavor-checkout-empty {
        padding: 60px 16px;
    }
    
    .flavor-checkout-empty-icon {
        width: 80px;
        height: 80px;
    }
    
    .flavor-checkout-empty-title {
        font-size: 22px;
    }
}

/* ========================================
   Checkout Notices Widget
   Version 1.10.13
   ======================================== */

.flavor-notices-widget {
    width: 100%;
}

/* Hide WooCommerce default checkout notices - we handle them ourselves */
.flavor-checkout .woocommerce-info:not(.flavor-notice-card),
.flavor-checkout .woocommerce-message:not(.flavor-notice-card),
.woocommerce-checkout .woocommerce-shipping-destination,
.woocommerce-checkout .shipping-calculator-form {
    display: none !important;
}

.flavor-notice-card {
    display: flex;
    align-items: flex-start;
    gap: 0;
    padding: 20px 24px;
    margin-bottom: 16px;
    border-radius: 12px;
    border-left: 4px solid;
    transition: all 0.3s ease;
}

/* Warning Notice */
.flavor-notice-warning {
    background: linear-gradient(135deg, var(--fn-warning-bg, #fff8e1) 0%, var(--fn-warning-bg-gradient, #ffecb3) 100%);
    border-left-color: var(--fn-warning-border, #ff9800);
}

.flavor-notice-warning .flavor-notice-title {
    color: var(--fn-warning-title, #e65100);
}

.flavor-notice-warning .flavor-notice-text {
    color: var(--fn-warning-text, #5d4037);
}

/* Success Notice */
.flavor-notice-success {
    background: linear-gradient(135deg, var(--fn-success-bg, #e8f5e9) 0%, var(--fn-success-bg-gradient, #c8e6c9) 100%);
    border-left-color: var(--fn-success-border, #4caf50);
}

.flavor-notice-success .flavor-notice-text {
    color: var(--fn-success-text, #2e7d32);
}

/* Info Notice */
.flavor-notice-info {
    background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
    border-left-color: #2196f3;
}

.flavor-notice-info .flavor-notice-text {
    color: #1565c0;
}

/* Error Notice */
.flavor-notice-error {
    background: linear-gradient(135deg, #ffebee 0%, #ffcdd2 100%);
    border-left-color: #f44336;
}

.flavor-notice-error .flavor-notice-text {
    color: #c62828;
}

/* Icon - hidden by default, kept for backward compat */
.flavor-notice-icon {
    display: none;
}

/* SVG Icon in header */
.flavor-notice-svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.flavor-notice-warning .flavor-notice-svg {
    stroke: var(--fn-warning-title, #e65100);
}

/* Content */
.flavor-notice-content {
    flex: 1;
    min-width: 0;
}

/* Header with icon + title */
.flavor-notice-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}

.flavor-notice-title {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
}

.flavor-notice-text {
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
}

.flavor-notice-hint {
    font-size: 13px;
    font-style: italic;
    opacity: 0.8;
    margin-top: 6px;
}

.flavor-notice-products {
    font-size: 13px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    opacity: 0.85;
}

.flavor-notice-products-label {
    font-weight: 700;
}

/* Minimal Style */
.flavor-notices-style-minimal .flavor-notice-card {
    background: transparent !important;
    border-radius: 0;
    border-left-width: 3px;
    padding: 12px 16px;
}

.flavor-notices-style-minimal .flavor-notice-icon {
    width: 32px;
    height: 32px;
    background: transparent;
}

.flavor-notices-style-minimal .flavor-notice-emoji {
    font-size: 20px;
}

/* Classic WooCommerce Style */
.flavor-notices-style-classic .flavor-notice-card {
    border-radius: 4px;
    border-left-width: 4px;
    padding: 16px 20px;
}

.flavor-notices-style-classic .flavor-notice-warning {
    background: #f7e9c6;
}

.flavor-notices-style-classic .flavor-notice-success {
    background: #e2f3e5;
}

.flavor-notices-style-classic .flavor-notice-icon {
    display: none;
}

/* Hover effect for modern style */
.flavor-notices-style-modern .flavor-notice-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

/* Mobile responsive */
@media (max-width: 480px) {
    .flavor-notice-card {
        padding: 16px;
        gap: 12px;
    }
    
    .flavor-notice-icon {
        width: 40px;
        height: 40px;
    }
    
    .flavor-notice-emoji {
        font-size: 20px;
    }
    
    .flavor-notice-title {
        font-size: 15px;
    }
    
    .flavor-notice-text {
        font-size: 13px;
    }
}

/* ========================================
   Thank You Page Widget - FunnelKit Style
   Version 1.10.42
   ======================================== */

.flavor-thankyou {
    max-width: 800px;
    margin: 0 auto;
    padding: 40px 20px;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* Header Section */
.flavor-thankyou-header {
    text-align: center;
    margin-bottom: 40px;
}

.flavor-thankyou-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 24px;
    background: linear-gradient(135deg, var(--fty-success), #34d399);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: flavor-thankyou-pop 0.5s ease-out;
}

.flavor-thankyou-icon svg {
    width: 40px;
    height: 40px;
    stroke: white;
    stroke-width: 2.5;
}

.flavor-thankyou-icon-warning {
    background: linear-gradient(135deg, #f59e0b, #fbbf24);
}

@keyframes flavor-thankyou-pop {
    0% { transform: scale(0); opacity: 0; }
    50% { transform: scale(1.2); }
    100% { transform: scale(1); opacity: 1; }
}

.flavor-thankyou-title {
    font-size: 32px;
    font-weight: 700;
    color: var(--fty-text);
    margin: 0 0 12px 0;
}

.flavor-thankyou-message {
    font-size: 16px;
    color: var(--fty-text-muted);
    margin: 0;
    line-height: 1.6;
}

/* Card Base */
.flavor-thankyou-card {
    background: var(--fty-white);
    border: 1px solid var(--fty-border);
    border-radius: var(--fty-radius);
    padding: 24px;
    margin-bottom: 20px;
    box-shadow: var(--fty-shadow);
}

.flavor-thankyou-card-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    font-weight: 600;
    color: var(--fty-text);
    margin: 0 0 20px 0;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--fty-border);
}

.flavor-thankyou-card-title svg {
    width: 22px;
    height: 22px;
    stroke: var(--fty-primary);
}

/* Order Info Grid */
.flavor-thankyou-order-info {
    background: var(--fty-background);
}

.flavor-thankyou-order-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 16px;
}

.flavor-thankyou-order-item {
    text-align: center;
    padding: 16px;
    background: var(--fty-white);
    border-radius: 8px;
}

.flavor-thankyou-order-label {
    display: block;
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--fty-text-muted);
    margin-bottom: 8px;
}

.flavor-thankyou-order-value {
    display: block;
    font-size: 16px;
    font-weight: 600;
    color: var(--fty-text);
}

.flavor-thankyou-order-number {
    color: var(--fty-primary);
    font-size: 18px;
}

.flavor-thankyou-order-total {
    color: var(--fty-success);
    font-size: 18px;
}

/* Order Status Badges */
.flavor-thankyou-status-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
}

.flavor-thankyou-status-processing {
    background: #dbeafe;
    color: #1e40af;
}

.flavor-thankyou-status-pending {
    background: #fef3c7;
    color: #92400e;
}

.flavor-thankyou-status-onhold {
    background: #fde68a;
    color: #78350f;
}

.flavor-thankyou-status-completed {
    background: #d1fae5;
    color: #065f46;
}

.flavor-thankyou-status-cancelled {
    background: #fee2e2;
    color: #991b1b;
}

.flavor-thankyou-status-refunded {
    background: #e5e7eb;
    color: #374151;
}

.flavor-thankyou-status-failed {
    background: #fee2e2;
    color: #991b1b;
}

.flavor-thankyou-status-default {
    background: #f3f4f6;
    color: #4b5563;
}

/* Products List */
.flavor-thankyou-products-list {
    margin-bottom: 20px;
}

.flavor-thankyou-product {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid var(--fty-border);
}

.flavor-thankyou-product:last-child {
    border-bottom: none;
}

.flavor-thankyou-product-image {
    position: relative;
    width: 64px;
    height: 64px;
    flex-shrink: 0;
}

.flavor-thankyou-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
    background: #f9fafb;
}

.flavor-thankyou-product-placeholder {
    width: 100%;
    height: 100%;
    background: var(--fty-background);
    border-radius: 10px;
    border: 1px solid var(--fty-border);
}

.flavor-thankyou-product-qty {
    position: absolute;
    top: -6px;
    right: -6px;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    background: var(--fty-text);
    color: white;
    font-size: 11px;
    font-weight: 700;
    line-height: 20px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    border: 2px solid white;
    box-sizing: content-box;
}

.flavor-thankyou-product-info {
    flex: 1;
    min-width: 0;
}

.flavor-thankyou-product-name {
    font-size: 15px;
    font-weight: 600;
    color: var(--fty-text);
    margin-bottom: 4px;
}

.flavor-thankyou-product-meta {
    font-size: 13px;
    color: var(--fty-text-muted);
}

.flavor-thankyou-product-meta span {
    display: inline-block;
    margin-right: 12px;
}

.flavor-thankyou-product-price {
    font-size: 16px;
    font-weight: 600;
    color: var(--fty-text);
    white-space: nowrap;
}

/* Totals */
.flavor-thankyou-totals {
    background: var(--fty-background);
    border-radius: 8px;
    padding: 16px;
}

.flavor-thankyou-totals-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    font-size: 14px;
    color: var(--fty-text-muted);
}

.flavor-thankyou-totals-row.flavor-thankyou-discount {
    color: var(--fty-success);
}

.flavor-thankyou-totals-final {
    margin-top: 8px;
    padding-top: 12px;
    border-top: 2px solid var(--fty-border);
    font-size: 18px;
    font-weight: 700;
    color: var(--fty-text);
}

/* Coupon Tags */
.flavor-thankyou-coupon-codes {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.flavor-thankyou-coupon-tag {
    display: inline-block;
    padding: 2px 10px;
    background: #dbeafe;
    color: #1e40af;
    font-size: 12px;
    font-weight: 600;
    border-radius: 12px;
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

/* Addresses */
.flavor-thankyou-addresses {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.flavor-thankyou-address-content {
    font-size: 14px;
    line-height: 1.7;
    color: var(--fty-text);
}

.flavor-thankyou-address-content p {
    margin: 0 0 8px 0;
}

.flavor-thankyou-contact {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px !important;
    color: var(--fty-text-muted);
}

.flavor-thankyou-contact svg {
    width: 16px;
    height: 16px;
    stroke: var(--fty-primary);
    flex-shrink: 0;
}

.flavor-thankyou-business-info {
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid var(--fty-border);
    font-size: 13px;
}

.flavor-thankyou-business-info p {
    margin: 4px 0;
}

/* Actions */
.flavor-thankyou-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 32px;
}

.flavor-thankyou-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 32px;
    background: var(--fty-primary);
    color: white;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    border: none;
    cursor: pointer;
    border-radius: 10px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(107, 124, 63, 0.3);
}

.flavor-thankyou-btn:hover {
    background: #5a6a35;
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(107, 124, 63, 0.4);
}

.flavor-thankyou-btn svg {
    width: 20px;
    height: 20px;
}

/* Secondary Button (Print) */
.flavor-thankyou-btn-secondary {
    background: var(--fty-white);
    color: var(--fty-text);
    border: 2px solid var(--fty-border);
    box-shadow: none;
}

.flavor-thankyou-btn-secondary:hover {
    background: var(--fty-background);
    color: var(--fty-text);
    border-color: var(--fty-primary);
    box-shadow: 0 4px 15px rgba(107, 124, 63, 0.15);
}

/* Preview Notice */
.flavor-thankyou-preview-notice {
    text-align: center;
    margin-top: 32px;
    padding: 16px;
    background: #fef3c7;
    border: 1px dashed #f59e0b;
    border-radius: 8px;
    color: #92400e;
    font-size: 13px;
}

/* No Order State */
.flavor-thankyou-no-order .flavor-thankyou-header {
    margin-bottom: 24px;
}

/* Responsive */
@media (max-width: 768px) {
    .flavor-thankyou {
        padding: 24px 16px;
    }
    
    .flavor-thankyou-icon {
        width: 64px;
        height: 64px;
    }
    
    .flavor-thankyou-icon svg {
        width: 32px;
        height: 32px;
    }
    
    .flavor-thankyou-title {
        font-size: 24px;
    }
    
    .flavor-thankyou-message {
        font-size: 14px;
    }
    
    .flavor-thankyou-order-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .flavor-thankyou-addresses {
        grid-template-columns: 1fr;
    }
    
    .flavor-thankyou-product {
        gap: 12px;
    }
    
    .flavor-thankyou-product-image {
        width: 56px;
        height: 56px;
    }
    
    .flavor-thankyou-product-name {
        font-size: 14px;
    }
    
    .flavor-thankyou-card {
        padding: 16px;
    }
    
    .flavor-thankyou-btn {
        width: 100%;
        justify-content: center;
        padding: 14px 24px;
    }
    
    .flavor-thankyou-actions {
        flex-direction: column;
    }
}

@media (max-width: 480px) {
    .flavor-thankyou-order-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    
    .flavor-thankyou-order-item {
        padding: 12px;
    }
}

/* ========================================
   Checkout Quantity Warning
   Version 1.10.3
   ======================================== */

.flavor-checkout-quantity-warning {
    background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
    border: 2px solid #fca5a5;
    border-radius: 16px;
    padding: 28px;
    margin-bottom: 32px;
    animation: flavor-warning-shake 0.5s ease-out;
}

@keyframes flavor-warning-shake {
    0%, 100% { transform: translateX(0); }
    10%, 30%, 50%, 70%, 90% { transform: translateX(-5px); }
    20%, 40%, 60%, 80% { transform: translateX(5px); }
}

.flavor-checkout-warning-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
}

.flavor-checkout-warning-header > svg {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    stroke: #dc2626;
    flex-shrink: 0;
}

.flavor-checkout-warning-header strong {
    font-size: 20px;
    font-weight: 700;
    color: #991b1b;
}

.flavor-checkout-warning-subtitle {
    color: #b91c1c;
    font-size: 15px;
    margin: 0 0 20px 0;
    padding-left: 40px;
}

.flavor-checkout-warning-list {
    list-style: none;
    margin: 0 0 24px 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.flavor-checkout-warning-item {
    display: flex;
    gap: 16px;
    background: white;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
    border-left: 4px solid #ef4444;
}

.flavor-checkout-warning-icon {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    background: #fef2f2;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.flavor-checkout-warning-icon svg {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    max-width: 22px !important;
    stroke: #ef4444;
}

.flavor-checkout-warning-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.flavor-checkout-warning-content strong {
    font-size: 16px;
    font-weight: 600;
    color: #1a1a1a;
}

.flavor-checkout-warning-rule {
    font-size: 14px;
    color: #6b7280;
}

.flavor-checkout-warning-rule strong {
    font-size: 14px;
    color: #374151;
}

.flavor-checkout-warning-current {
    font-size: 14px;
    color: #6b7280;
}

.flavor-checkout-warning-needed {
    font-size: 15px;
    color: #dc2626;
    font-weight: 500;
}

.flavor-checkout-warning-needed strong {
    font-size: 15px;
    color: #dc2626;
    font-weight: 700;
}

.flavor-checkout-warning-products {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px dashed #e5e7eb;
}

.flavor-checkout-warning-products small {
    font-size: 13px;
    color: #6b7280;
}

.flavor-checkout-warning-pickup {
    margin-top: 6px;
}

.flavor-checkout-warning-pickup small {
    font-size: 13px;
    color: #92400e;
    background: #fef3c7;
    padding: 4px 10px;
    border-radius: 6px;
    display: inline-block;
}

.flavor-checkout-warning-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.flavor-checkout-warning-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 24px;
    background: #6b7c3f;
    color: white;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 10px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(107, 124, 63, 0.3);
}

.flavor-checkout-warning-btn:hover {
    background: #5a6a35;
    color: white;
    transform: translateY(-2px);
}

.flavor-checkout-warning-btn svg {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
}

.flavor-checkout-warning-btn-secondary {
    display: inline-flex;
    align-items: center;
    padding: 14px 24px;
    background: white;
    color: #374151;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 10px;
    border: 2px solid #e5e7eb;
    transition: all 0.3s ease;
}

.flavor-checkout-warning-btn-secondary:hover {
    background: #f9fafb;
    color: #374151;
    border-color: #d1d5db;
}

.flavor-checkout-warning-tip {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 20px 0 0 0;
    padding: 14px 16px;
    background: rgba(107, 124, 63, 0.1);
    border-radius: 10px;
    font-size: 14px;
    color: #5a6a35;
    line-height: 1.5;
}

.flavor-checkout-warning-tip svg {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
    stroke: #6b7c3f;
    flex-shrink: 0;
    margin-top: 1px;
}

/* All SVGs in warning block should be constrained */
.flavor-checkout-quantity-warning svg {
    flex-shrink: 0;
}

/* Disabled checkout form when warnings exist */
.flavor-checkout-form.flavor-checkout-disabled {
    opacity: 0.5;
    pointer-events: none;
    user-select: none;
    position: relative;
}

.flavor-checkout-form.flavor-checkout-disabled::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.3);
    z-index: 10;
    border-radius: 16px;
}

/* Responsive */
@media (max-width: 768px) {
    .flavor-checkout-quantity-warning {
        padding: 20px;
        margin-bottom: 24px;
    }
    
    .flavor-checkout-warning-header strong {
        font-size: 18px;
    }
    
    .flavor-checkout-warning-subtitle {
        padding-left: 0;
    }
    
    .flavor-checkout-warning-item {
        flex-direction: column;
        gap: 12px;
        padding: 16px;
    }
    
    .flavor-checkout-warning-icon {
        width: 40px;
        height: 40px;
    }
    
    .flavor-checkout-warning-actions {
        flex-direction: column;
    }
    
    .flavor-checkout-warning-btn,
    .flavor-checkout-warning-btn-secondary {
        width: 100%;
        justify-content: center;
    }
    
    /* Customer type - FORCE vertical stack on mobile */
    .flavor-checkout-customer-type {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: unset !important;
        gap: 10px !important;
    }
    
    .flavor-checkout .flavor-checkout-customer-type label.flavor-checkout-customer-type-option,
    .flavor-checkout-customer-type-option {
        width: 100% !important;
        padding: 14px 16px !important;
    }
    
    .flavor-checkout-customer-type-label {
        white-space: nowrap !important;
    }
    
    /* Business fields - stack vertically on mobile */
    .flavor-business-fields-row {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: unset !important;
        gap: 16px !important;
    }
    
    .flavor-business-field-half {
        width: 100% !important;
    }
    
    /* Reduce section gaps */
    .flavor-checkout .flavor-checkout-main {
        gap: 16px !important;
    }
    
    .flavor-checkout.layout-two-column {
        gap: 16px !important;
    }
}

/* ========================================
   Product Filter Widget
   ======================================== */
.flavor-product-filter {
    position: relative;
}

/* Filter Bar */
.flavor-filter-bar {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 30px;
}

.flavor-filter-bar-top {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

/* Search */
.flavor-filter-search {
    position: relative;
    width: 280px;
    max-width: 100%;
    box-sizing: border-box;
}

.flavor-filter-search-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    pointer-events: none;
    color: #94a3b8;
}

.flavor-filter-search-icon svg {
    stroke: currentColor;
}

.flavor-filter-search input {
    width: 100%;
    height: 44px;
    padding: 0 14px 0 40px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8f9fa;
    font-size: 14px;
    color: #333;
    outline: none;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

.flavor-filter-search input:focus {
    border-color: #6b7c3f;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(107, 124, 63, 0.1);
}

.flavor-filter-search input::placeholder {
    color: #94a3b8;
}

/* Sorting */
.flavor-filter-sorting {
    margin-left: auto;
}

.flavor-filter-sorting select {
    height: 44px;
    padding: 0 36px 0 14px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8f9fa;
    font-size: 14px;
    color: #333;
    cursor: pointer;
    outline: none;
    transition: all 0.3s ease;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
}

.flavor-filter-sorting select:focus {
    border-color: #6b7c3f;
    box-shadow: 0 0 0 3px rgba(107, 124, 63, 0.1);
}

/* Category Filters */
.flavor-filter-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.flavor-filter-cat-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 20px;
    border: none;
    border-radius: 20px;
    background: #f1f5f9;
    color: #64748b;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
    outline: none;
    line-height: 1.4;
}

.flavor-filter-cat-btn:hover:not(.active) {
    background: #e2e8f0;
    color: #334155;
}

.flavor-filter-cat-btn.active {
    background: #6b7c3f;
    color: #ffffff;
}

.flavor-filter-cat-count {
    font-size: 12px;
    opacity: 0.7;
}

/* Checkboxes style */
.flavor-filter-cats-checkboxes .flavor-filter-cat-btn {
    cursor: pointer;
    border-radius: 8px;
}

.flavor-filter-cats-checkboxes .flavor-filter-cat-btn input[type="checkbox"] {
    accent-color: #6b7c3f;
    cursor: pointer;
}

/* Pills style */
.flavor-filter-cats-pills .flavor-filter-cat-btn {
    border-radius: 50px;
    padding: 6px 16px;
    font-size: 13px;
}

/* Dropdown category */
.flavor-filter-cat-select {
    height: 44px;
    padding: 0 36px 0 14px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8f9fa;
    font-size: 14px;
    color: #333;
    cursor: pointer;
    outline: none;
    transition: all 0.3s ease;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
}

/* Price Filter */
.flavor-filter-price {
    display: flex;
    align-items: center;
}

.flavor-filter-price-inputs {
    display: flex;
    align-items: center;
    gap: 8px;
}

.flavor-filter-price-inputs input {
    width: 100px;
    height: 44px;
    padding: 0 12px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8f9fa;
    font-size: 14px;
    color: #333;
    outline: none;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

.flavor-filter-price-inputs input:focus {
    border-color: #6b7c3f;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(107, 124, 63, 0.1);
}

.flavor-filter-price-sep {
    color: #94a3b8;
    font-size: 14px;
}

/* Info Bar */
.flavor-filter-info-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    min-height: 24px;
}

.flavor-filter-results-count {
    font-size: 14px;
    color: #64748b;
}

.flavor-filter-count-number {
    font-weight: 600;
    color: #1e293b;
}

.flavor-filter-reset {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border: none;
    border-radius: 6px;
    background: #fef2f2;
    color: #ef4444;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    outline: none;
}

.flavor-filter-reset:hover {
    background: #fee2e2;
}

.flavor-filter-reset svg {
    stroke: currentColor;
}

/* Loading */
.flavor-filter-loading {
    display: flex;
    justify-content: center;
    padding: 40px 0;
}

.flavor-filter-spinner {
    width: 36px;
    height: 36px;
    border: 3px solid #e2e8f0;
    border-top-color: #6b7c3f;
    border-radius: 50%;
    animation: flavorFilterSpin 0.8s linear infinite;
}

@keyframes flavorFilterSpin {
    to { transform: rotate(360deg); }
}

/* No Results */
.flavor-filter-no-results {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    text-align: center;
    color: #94a3b8;
}

.flavor-filter-no-results svg {
    margin-bottom: 16px;
    stroke: #cbd5e1;
}

.flavor-filter-no-results p {
    font-size: 16px;
    margin: 0;
}

/* Responsive - Tablet */
@media (max-width: 768px) {
    .flavor-filter-bar {
        gap: 12px;
        margin-bottom: 20px;
    }

    .flavor-filter-bar-top {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }
    
    .flavor-filter-search {
        width: 100% !important;
        max-width: 100% !important;
    }

    .flavor-filter-search input {
        width: 100% !important;
        height: 42px;
        font-size: 14px;
    }
    
    .flavor-filter-sorting {
        width: 100%;
        margin-left: 0;
    }
    
    .flavor-filter-sorting select {
        width: 100% !important;
        height: 42px;
        font-size: 14px;
    }
    
    .flavor-filter-categories {
        overflow-x: auto;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 6px;
        margin: 0 -4px;
        padding-left: 4px;
        padding-right: 4px;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .flavor-filter-categories::-webkit-scrollbar {
        display: none;
    }

    .flavor-filter-cat-btn {
        padding: 7px 16px;
        font-size: 13px;
        flex-shrink: 0;
    }

    .flavor-filter-cats-pills .flavor-filter-cat-btn {
        padding: 5px 14px;
        font-size: 12px;
    }

    /* Price filter */
    .flavor-filter-price-inputs {
        flex-wrap: wrap;
        gap: 6px;
    }

    .flavor-filter-price-inputs input {
        width: calc(50% - 16px);
        height: 42px;
        font-size: 14px;
    }

    .flavor-filter-price-sep {
        flex-shrink: 0;
    }

    /* Info bar */
    .flavor-filter-info-bar {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 8px;
        align-items: center;
        margin-bottom: 14px;
    }

    .flavor-filter-results-count {
        font-size: 13px;
    }

    .flavor-filter-reset {
        padding: 5px 12px;
        font-size: 12px;
    }

    /* Category dropdown */
    .flavor-filter-cat-select {
        width: 100%;
        height: 42px;
    }
}

/* Responsive - Mobile */
@media (max-width: 480px) {
    .flavor-filter-bar {
        gap: 10px;
        margin-bottom: 16px;
    }

    .flavor-filter-bar-top {
        gap: 8px;
    }

    .flavor-filter-search {
        width: 100% !important;
        max-width: 100% !important;
    }

    .flavor-filter-search input {
        width: 100% !important;
        height: 40px;
        padding: 0 12px 0 36px;
        font-size: 13px;
        border-radius: 8px;
    }

    .flavor-filter-search-icon {
        left: 10px;
    }

    .flavor-filter-search-icon svg {
        width: 16px;
        height: 16px;
    }

    .flavor-filter-sorting select {
        height: 40px;
        padding: 0 32px 0 12px;
        font-size: 13px;
        border-radius: 8px;
        background-position: right 10px center;
    }

    .flavor-filter-categories {
        gap: 6px;
        padding-bottom: 4px;
        margin: 0 -2px;
        padding-left: 2px;
        padding-right: 2px;
        /* Fade hint on right edge */
        mask-image: linear-gradient(to right, black calc(100% - 24px), transparent 100%);
        -webkit-mask-image: linear-gradient(to right, black calc(100% - 24px), transparent 100%);
    }

    .flavor-filter-categories.scrolled-left {
        mask-image: linear-gradient(to left, black calc(100% - 24px), transparent 100%);
        -webkit-mask-image: linear-gradient(to left, black calc(100% - 24px), transparent 100%);
    }

    .flavor-filter-categories.scrolled-middle {
        mask-image: linear-gradient(to right, transparent 0%, black 24px, black calc(100% - 24px), transparent 100%);
        -webkit-mask-image: linear-gradient(to right, transparent 0%, black 24px, black calc(100% - 24px), transparent 100%);
    }

    .flavor-filter-categories.scrolled-end {
        mask-image: none;
        -webkit-mask-image: none;
    }

    .flavor-filter-cat-btn {
        padding: 6px 14px;
        font-size: 12px;
        border-radius: 18px;
        letter-spacing: 0.3px;
    }

    .flavor-filter-cats-pills .flavor-filter-cat-btn {
        padding: 5px 12px;
        font-size: 11px;
    }

    .flavor-filter-cat-count {
        font-size: 11px;
    }

    /* Checkboxes style */
    .flavor-filter-cats-checkboxes .flavor-filter-cat-btn {
        border-radius: 6px;
    }

    /* Category dropdown */
    .flavor-filter-cat-select {
        height: 40px;
        font-size: 13px;
        border-radius: 8px;
    }

    /* Price filter */
    .flavor-filter-price {
        width: 100%;
    }

    .flavor-filter-price-inputs {
        width: 100%;
        flex-wrap: nowrap;
        gap: 6px;
    }

    .flavor-filter-price-inputs input {
        width: 100%;
        flex: 1;
        min-width: 0;
        height: 40px;
        padding: 0 10px;
        font-size: 13px;
        border-radius: 8px;
    }

    .flavor-filter-price-sep {
        font-size: 12px;
    }

    /* Info bar */
    .flavor-filter-info-bar {
        margin-bottom: 12px;
        min-height: 20px;
    }

    .flavor-filter-results-count {
        font-size: 12px;
    }

    .flavor-filter-count-number {
        font-weight: 600;
    }

    .flavor-filter-reset {
        padding: 4px 10px;
        font-size: 11px;
        gap: 4px;
        border-radius: 5px;
    }

    .flavor-filter-reset svg {
        width: 12px;
        height: 12px;
    }

    /* No results */
    .flavor-filter-no-results {
        padding: 40px 16px;
    }

    .flavor-filter-no-results p {
        font-size: 14px;
    }

    .flavor-filter-spinner {
        width: 28px;
        height: 28px;
    }
}

/* ============================================
   ADD TO CART WIDGET (Product Page)
   ============================================ */

/* Widget container */
.flavor-atc-widget {
    width: 100%;
}

/* Variation selector */
.flavor-atc-variations {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 16px;
}

.flavor-atc-variation-row {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.flavor-atc-variation-label {
    font-size: 13px;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.flavor-atc-variation-select {
    width: 100%;
    padding: 12px 40px 12px 16px;
    border: 2px solid #e2e8f0;
    border-radius: 10px;
    background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") no-repeat right 14px center;
    background-size: 12px 8px;
    font-size: 15px;
    font-weight: 500;
    color: #1e293b;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.flavor-atc-variation-select:focus {
    border-color: #6b7c3f;
    box-shadow: 0 0 0 3px rgba(107, 124, 63, 0.12);
}

.flavor-atc-variation-select:hover {
    border-color: #94a3b8;
}

.flavor-atc-variation-price {
    font-size: 18px;
    font-weight: 700;
    color: #1e293b;
    padding: 4px 0;
}

.flavor-atc-variation-price del {
    color: #94a3b8;
    font-weight: 400;
    font-size: 14px;
    margin-right: 6px;
}

.flavor-atc-variation-price ins {
    text-decoration: none;
    color: #dc2626;
}

/* Disabled add to cart for variable products until variation selected */
.flavor-atc-variable-add:disabled,
.flavor-atc-variable-add[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none !important;
    box-shadow: none !important;
}

/* ============================
 * Product Price Widget
 * ============================ */
.flavor-price-widget {
    line-height: 1.4;
}

.flavor-price-row {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px;
}

.flavor-price-current {
    font-size: 28px;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.2;
}

.flavor-price-current .woocommerce-Price-amount {
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
}

.flavor-price-old {
    font-size: 18px;
    font-weight: 400;
    color: #999999;
    line-height: 1.2;
}

.flavor-price-old del {
    text-decoration: line-through;
}

.flavor-price-old .woocommerce-Price-amount {
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
}

.flavor-price-sale-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    font-size: 12px;
    font-weight: 600;
    color: #ffffff;
    background-color: #d63638;
    border-radius: 4px;
    line-height: 1.4;
    letter-spacing: 0.3px;
}

.flavor-price-subtitle {
    margin-top: 4px;
    font-size: 13px;
    font-weight: 400;
    font-style: italic;
    color: #6b7c3f;
    line-height: 1.5;
}

/* Linked products dropdown (product switcher) */
.flavor-atc-linked-products {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 16px;
}

.flavor-atc-linked-label {
    font-size: 13px;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.flavor-atc-linked-select {
    width: 100%;
    padding: 12px 40px 12px 16px;
    border: 2px solid #e2e8f0;
    border-radius: 10px;
    background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") no-repeat right 14px center;
    background-size: 12px 8px;
    font-size: 15px;
    font-weight: 500;
    color: #1e293b;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.flavor-atc-linked-select:focus {
    border-color: #6b7c3f;
    box-shadow: 0 0 0 3px rgba(107, 124, 63, 0.12);
}

.flavor-atc-linked-select:hover {
    border-color: #94a3b8;
}

/* Cart row - quantity + button */
.flavor-atc-cart-row {
    display: flex;
    align-items: stretch;
    gap: 12px;
}

.flavor-atc-layout-stacked .flavor-atc-cart-row {
    flex-direction: column;
}

/* Quantity container */
.flavor-atc-quantity {
    display: flex;
    align-items: stretch;
    flex-shrink: 0;
}

.flavor-atc-qty-plusminus {
    width: auto;
    min-width: 120px;
}

/* Quantity input */
.flavor-atc-qty-input {
    width: 100%;
    outline: none !important;
    text-align: center;
    padding: 0 4px;
    -moz-appearance: textfield;
    appearance: textfield;
    min-width: 0;
    border: none !important;
    box-shadow: none !important;
}

/* Plusminus variant: add left/right divider borders on input (overridable by Elementor) */
.flavor-atc-qty-plusminus .flavor-atc-qty-input {
    border-left: 1px solid #e2e8f0 !important;
    border-right: 1px solid #e2e8f0 !important;
    border-top: none !important;
    border-bottom: none !important;
}

.flavor-atc-qty-input::-webkit-outer-spin-button,
.flavor-atc-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.flavor-atc-qty-input:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* Plus/Minus buttons */
.flavor-atc-qty-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: none !important;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
    padding: 0;
}

.flavor-atc-qty-btn:active {
    opacity: 0.8;
}

.flavor-atc-qty-btn svg {
    pointer-events: none;
}

/* Add to cart button */
.flavor-atc-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 40px;
    border: none;
    border-radius: 30px;
    background-color: #6b7c3f;
    color: #ffffff;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    white-space: nowrap;
    position: relative;
    overflow: hidden;
    height: 52px;
    line-height: 1;
}

.flavor-atc-button:hover {
    background-color: #5a6a34;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(107, 124, 63, 0.3);
}

.flavor-atc-button:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(107, 124, 63, 0.2);
}

.flavor-atc-btn-full {
    width: 100%;
}

/* Button icon */
.flavor-atc-btn-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
}

.flavor-atc-btn-icon svg {
    width: 18px;
    height: 18px;
}

/* Loading spinner in button */
.flavor-atc-btn-loading {
    display: none;
    animation: flavorAtcSpin 1s linear infinite;
}

.flavor-atc-button.loading .flavor-atc-btn-text,
.flavor-atc-button.loading .flavor-atc-btn-icon {
    opacity: 0;
    visibility: hidden;
}

.flavor-atc-button.loading .flavor-atc-btn-loading {
    display: inline-flex;
    position: absolute;
}

@keyframes flavorAtcSpin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Out of stock label */
.flavor-atc-out-of-stock {
    display: inline-flex;
    align-items: center;
    padding: 12px 28px;
    background: #fef2f2;
    color: #dc2626;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.3px;
}

/* Separator */
.flavor-atc-separator {
    border: none;
    border-top: 1px solid #e2e8f0;
    margin: 20px 0;
}

/* Meta info (SKU, Category, Tags) */
.flavor-atc-meta {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.flavor-atc-meta-inline {
    flex-direction: column;
}

.flavor-atc-meta-item {
    display: flex;
    align-items: baseline;
    gap: 8px;
    font-size: 14px;
    line-height: 1.5;
    flex-wrap: wrap;
}

.flavor-atc-meta-label {
    color: #64748b;
    font-weight: 500;
    flex-shrink: 0;
}

.flavor-atc-meta-value {
    color: #1e293b;
    font-weight: 400;
}

.flavor-atc-meta-value a {
    color: #6b7c3f;
    text-decoration: none;
    transition: color 0.2s ease;
}

.flavor-atc-meta-value a:hover {
    color: #5a6a34;
    text-decoration: underline;
}

/* Preview placeholder in Elementor editor */
.flavor-atc-preview {
    border: 2px dashed #e2e8f0;
    border-radius: 8px;
    min-height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Success state */
.flavor-atc-button.added {
    background-color: #16a34a;
}

.flavor-atc-button.added .flavor-atc-btn-text::after {
    content: ' ✓';
}

/* ============================================
   ADD TO CART WIDGET - Responsive
   ============================================ */

@media (max-width: 767px) {
    .flavor-atc-cart-row {
        gap: 8px;
    }

    .flavor-atc-qty-plusminus {
        min-width: 110px;
    }

    .flavor-atc-button {
        padding: 12px 28px;
        font-size: 14px;
        height: 46px;
    }

    .flavor-atc-meta-item {
        font-size: 13px;
    }

    .flavor-atc-separator {
        margin: 16px 0;
    }
}

/* ============================================
   PRODUCT DESCRIPTION WIDGET
   ============================================ */

.flavor-product-description {
    width: 100%;
}

/* Preview in editor */
.flavor-desc-preview {
    border: 2px dashed #e2e8f0;
    border-radius: 8px;
    min-height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Short description */
.flavor-desc-short {
    font-size: 15px;
    line-height: 1.7;
    color: #64748b;
    margin-bottom: 24px;
}

.flavor-desc-short p:last-child {
    margin-bottom: 0;
}

/* ============================================
   TABS LAYOUT
   ============================================ */

.flavor-desc-tabs-nav {
    display: flex;
    align-items: stretch;
    border-bottom: 1px solid #e2e8f0;
    gap: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.flavor-desc-tabs-nav::-webkit-scrollbar {
    display: none;
}

/* Tab Button Base */
.flavor-desc-tab-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 24px;
    border: none;
    background: transparent;
    color: #64748b;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.25s ease;
    white-space: nowrap;
    position: relative;
    flex-shrink: 0;
}

.flavor-desc-tab-btn:hover {
    color: #334155;
    background-color: #f8fafc;
}

.flavor-desc-tab-btn.active {
    color: #1e293b;
    font-weight: 600;
}

/* Tab Icon */
.flavor-desc-tab-icon {
    display: inline-flex;
    align-items: center;
    line-height: 0;
    opacity: 0.7;
}

.flavor-desc-tab-btn.active .flavor-desc-tab-icon {
    opacity: 1;
}

.flavor-desc-tab-icon svg {
    width: 18px;
    height: 18px;
}

/* Tab Badge (review count) */
.flavor-desc-tab-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border-radius: 11px;
    background: #e2e8f0;
    color: #64748b;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
}

.flavor-desc-tab-btn.active .flavor-desc-tab-badge {
    background: #6b7c3f;
    color: #fff;
}

/* --- Underline Style --- */
.flavor-desc-tabs-underline .flavor-desc-tab-btn::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 2px;
    background-color: transparent;
    transition: background-color 0.25s ease;
}

.flavor-desc-tabs-underline .flavor-desc-tab-btn.active::after {
    background-color: #6b7c3f;
}

/* --- Boxed Style --- */
.flavor-desc-tabs-boxed .flavor-desc-tabs-nav {
    border-bottom: none;
    background: #f1f5f9;
    border-radius: 10px;
    padding: 4px;
    gap: 4px;
}

.flavor-desc-tabs-boxed .flavor-desc-tab-btn {
    border-radius: 8px;
    padding: 10px 20px;
}

.flavor-desc-tabs-boxed .flavor-desc-tab-btn.active {
    background: #ffffff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.flavor-desc-tabs-boxed .flavor-desc-tab-btn:hover:not(.active) {
    background: rgba(255, 255, 255, 0.5);
}

/* --- Pills Style --- */
.flavor-desc-tabs-pills .flavor-desc-tabs-nav {
    border-bottom: none;
    gap: 8px;
    flex-wrap: wrap;
}

.flavor-desc-tabs-pills .flavor-desc-tab-btn {
    border-radius: 24px;
    padding: 10px 22px;
    border: 1px solid #e2e8f0;
}

.flavor-desc-tabs-pills .flavor-desc-tab-btn.active {
    background: #6b7c3f;
    color: #fff;
    border-color: #6b7c3f;
}

.flavor-desc-tabs-pills .flavor-desc-tab-btn:hover:not(.active) {
    border-color: #cbd5e1;
    background: #f8fafc;
}

.flavor-desc-tabs-pills .flavor-desc-tab-btn.active .flavor-desc-tab-badge {
    background: rgba(255, 255, 255, 0.25);
    color: #fff;
}

/* --- Minimal Style --- */
.flavor-desc-tabs-minimal .flavor-desc-tabs-nav {
    border-bottom: none;
    gap: 24px;
}

.flavor-desc-tabs-minimal .flavor-desc-tab-btn {
    padding: 10px 0;
}

.flavor-desc-tabs-minimal .flavor-desc-tab-btn::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: transparent;
    transition: background 0.25s ease;
    border-radius: 1px;
}

.flavor-desc-tabs-minimal .flavor-desc-tab-btn.active::after {
    background: #6b7c3f;
}

.flavor-desc-tabs-minimal .flavor-desc-tab-btn:hover:not(.active) {
    background: transparent;
}

/* Tab Content Panels */
.flavor-desc-content {
    display: none;
    padding: 28px 0;
    animation: flavorDescFadeIn 0.3s ease;
}

.flavor-desc-content.active {
    display: block;
}

@keyframes flavorDescFadeIn {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ============================================
   ACCORDION LAYOUT
   ============================================ */

.flavor-desc-accordion {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.flavor-desc-accordion-item {
    border-bottom: 1px solid #e2e8f0;
}

.flavor-desc-accordion-item:first-child {
    border-top: 1px solid #e2e8f0;
}

/* Accordion Header */
.flavor-desc-accordion-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 18px 4px;
    border: none;
    background: transparent;
    color: #64748b;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.25s ease;
    text-align: left;
}

.flavor-desc-accordion-header:hover {
    color: #334155;
    background-color: #f8fafc;
}

.flavor-desc-accordion-header.active {
    color: #1e293b;
    font-weight: 600;
}

.flavor-desc-accordion-title-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
}

.flavor-desc-accordion-icon {
    display: inline-flex;
    align-items: center;
    line-height: 0;
    opacity: 0.6;
    transition: opacity 0.2s ease, color 0.2s ease;
}

.flavor-desc-accordion-header.active .flavor-desc-accordion-icon {
    opacity: 1;
    color: #6b7c3f;
}

.flavor-desc-accordion-icon svg {
    width: 18px;
    height: 18px;
}

/* Accordion Arrow */
.flavor-desc-accordion-arrow {
    display: inline-flex;
    align-items: center;
    transition: transform 0.3s ease;
    color: #94a3b8;
    flex-shrink: 0;
}

.flavor-desc-accordion-header.active .flavor-desc-accordion-arrow {
    transform: rotate(180deg);
    color: #6b7c3f;
}

.flavor-desc-accordion-arrow svg {
    width: 20px;
    height: 20px;
}

/* Accordion Body */
.flavor-desc-accordion-body {
    padding: 0 4px 24px 4px;
    line-height: 1.8;
    color: #334155;
    animation: flavorDescFadeIn 0.3s ease;
}

/* ============================================
   PLAIN LAYOUT
   ============================================ */

.flavor-desc-plain {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.flavor-desc-plain-section {
    /* Each section */
}

.flavor-desc-plain-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    font-weight: 600;
    color: #1e293b;
    margin: 0 0 16px 0;
    padding-bottom: 12px;
    border-bottom: 2px solid #e2e8f0;
}

.flavor-desc-plain-title .flavor-desc-tab-icon {
    opacity: 0.7;
}

.flavor-desc-plain-content {
    line-height: 1.8;
    color: #334155;
}

.flavor-desc-plain-content p:last-child {
    margin-bottom: 0;
}

/* ============================================
   DESCRIPTION TEXT CONTENT
   ============================================ */

.flavor-desc-text {
    line-height: 1.8;
    font-size: 15px;
}

.flavor-desc-text p {
    margin-bottom: 16px;
}

.flavor-desc-text p:last-child {
    margin-bottom: 0;
}

.flavor-desc-text h2,
.flavor-desc-text h3,
.flavor-desc-text h4 {
    margin-top: 24px;
    margin-bottom: 12px;
    font-weight: 600;
    color: #1e293b;
}

.flavor-desc-text ul,
.flavor-desc-text ol {
    margin: 16px 0;
    padding-left: 24px;
}

.flavor-desc-text li {
    margin-bottom: 8px;
}

.flavor-desc-text img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 16px 0;
}

.flavor-desc-text a {
    color: #6b7c3f;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.flavor-desc-text a:hover {
    color: #5a6a34;
}

/* ============================================
   ATTRIBUTES TABLE
   ============================================ */

.flavor-desc-attributes {
    width: 100%;
    border-collapse: collapse;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
}

.flavor-desc-attributes tr:nth-child(even) {
    background-color: #f8fafc;
}

.flavor-desc-attributes th,
.flavor-desc-attributes td {
    padding: 12px 16px;
    text-align: left;
    font-size: 14px;
    border-bottom: 1px solid #e2e8f0;
}

.flavor-desc-attributes tr:last-child th,
.flavor-desc-attributes tr:last-child td {
    border-bottom: none;
}

.flavor-desc-attributes th {
    color: #64748b;
    font-weight: 500;
    width: 35%;
    white-space: nowrap;
}

.flavor-desc-attributes td {
    color: #1e293b;
    font-weight: 400;
}

/* ============================================
   REVIEWS
   ============================================ */

.flavor-desc-reviews {
    /* Container */
}

/* Rating Summary */
.flavor-desc-reviews-summary {
    margin-bottom: 28px;
    padding-bottom: 24px;
    border-bottom: 1px solid #e2e8f0;
}

.flavor-desc-reviews-average {
    display: flex;
    align-items: center;
    gap: 16px;
}

.flavor-desc-reviews-number {
    font-size: 42px;
    font-weight: 700;
    color: #1e293b;
    line-height: 1;
}

.flavor-desc-reviews-stars {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.flavor-desc-stars {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    color: #f59e0b;
}

.flavor-desc-reviews-total {
    font-size: 13px;
    color: #94a3b8;
}

/* Reviews List */
.flavor-desc-reviews-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.flavor-desc-review-item {
    padding: 20px 0;
    border-bottom: 1px solid #f1f5f9;
}

.flavor-desc-review-item:last-child {
    border-bottom: none;
}

.flavor-desc-review-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
    gap: 12px;
}

.flavor-desc-review-author {
    display: flex;
    align-items: center;
    gap: 12px;
}

.flavor-desc-review-avatar img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
}

.flavor-desc-review-meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.flavor-desc-review-name {
    font-size: 14px;
    font-weight: 600;
    color: #1e293b;
}

.flavor-desc-review-date {
    font-size: 12px;
    color: #94a3b8;
}

.flavor-desc-review-rating {
    flex-shrink: 0;
}

.flavor-desc-review-rating .flavor-desc-stars {
    font-size: 0;
}

.flavor-desc-review-text {
    font-size: 14px;
    line-height: 1.7;
    color: #475569;
}

.flavor-desc-review-text p:last-child {
    margin-bottom: 0;
}

/* Reviews Empty State */
.flavor-desc-reviews-empty {
    text-align: center;
    padding: 32px 20px;
    background: #f8fafc;
    border-radius: 12px;
    margin-bottom: 24px;
}

.flavor-desc-reviews-empty p {
    color: #94a3b8;
    font-size: 15px;
    margin: 0;
}

/* Review Form */
.flavor-desc-review-form-wrap {
    margin-top: 28px;
    padding-top: 28px;
    border-top: 1px solid #e2e8f0;
}

.flavor-desc-review-form-wrap .comment-reply-title {
    font-size: 18px;
    font-weight: 600;
    color: #1e293b;
    margin-bottom: 16px;
}

.flavor-desc-review-form-wrap label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: #475569;
    margin-bottom: 6px;
}

.flavor-desc-review-form-wrap textarea,
.flavor-desc-review-form-wrap input[type="text"],
.flavor-desc-review-form-wrap input[type="email"] {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 14px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    background: #fff;
}

.flavor-desc-review-form-wrap textarea:focus,
.flavor-desc-review-form-wrap input:focus {
    outline: none;
    border-color: #6b7c3f;
    box-shadow: 0 0 0 3px rgba(107, 124, 63, 0.12);
}

.flavor-desc-review-form-wrap .form-submit .submit {
    display: inline-flex;
    align-items: center;
    padding: 12px 28px;
    background: #6b7c3f;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s ease;
    margin-top: 8px;
}

.flavor-desc-review-form-wrap .form-submit .submit:hover {
    background: #5a6a34;
}

/* ============================================
   PRODUCT DESCRIPTION - Responsive
   ============================================ */

@media (max-width: 767px) {
    .flavor-desc-tabs-nav {
        gap: 0;
    }

    .flavor-desc-tab-btn {
        padding: 12px 16px;
        font-size: 13px;
    }

    .flavor-desc-tabs-pills .flavor-desc-tab-btn {
        padding: 8px 16px;
        font-size: 13px;
    }

    .flavor-desc-tabs-boxed .flavor-desc-tab-btn {
        padding: 8px 14px;
        font-size: 13px;
    }

    .flavor-desc-content {
        padding: 20px 0;
    }

    .flavor-desc-text {
        font-size: 14px;
    }

    .flavor-desc-accordion-header {
        padding: 14px 4px;
        font-size: 14px;
    }

    .flavor-desc-accordion-body {
        padding: 0 4px 18px 4px;
        font-size: 14px;
    }

    .flavor-desc-reviews-number {
        font-size: 32px;
    }

    .flavor-desc-review-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .flavor-desc-attributes th {
        width: 40%;
        font-size: 13px;
    }

    .flavor-desc-attributes td {
        font-size: 13px;
    }

    .flavor-desc-attributes th,
    .flavor-desc-attributes td {
        padding: 10px 12px;
    }

    .flavor-desc-plain {
        gap: 28px;
    }

    .flavor-desc-plain-title {
        font-size: 16px;
    }

    .flavor-desc-tab-icon svg {
        width: 16px;
        height: 16px;
    }
}

/* ========================================
   PRODUCT RULES WIDGET
   ======================================== */

.flavor-rules-widget {
    background: #f8fafc;
    border-radius: 10px;
    padding: 14px 16px;
    width: 100%;
    box-sizing: border-box;
}

/* Title */
.flavor-rules-title {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: #1e293b;
    margin: 0 0 10px;
    padding: 0;
    line-height: 1.3;
}

.flavor-rules-title-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #6b7c3f;
}

.flavor-rules-title-icon svg {
    width: 14px;
    height: 14px;
}

/* Items container */
.flavor-rules-items {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* Inline layout */
.flavor-rules-inline .flavor-rules-items {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 6px;
}

.flavor-rules-inline .flavor-rules-item {
    flex: 1 1 auto;
    min-width: 120px;
    text-align: center;
    flex-direction: column;
    align-items: center;
    padding: 8px 10px;
    background: #ffffff;
    border-radius: 6px;
    border: 1px solid #e2e8f0;
}

.flavor-rules-inline .flavor-rules-item-content {
    align-items: center;
}

/* Single item */
.flavor-rules-item {
    display: flex;
    align-items: center;
    gap: 8px;
    transition: background 0.2s ease;
}

/* Card layout items */
.flavor-rules-card .flavor-rules-item {
    padding: 8px 10px;
    background: #ffffff;
    border-radius: 6px;
    border: 1px solid #e2e8f0;
}

.flavor-rules-card .flavor-rules-item:hover {
    border-color: #cbd5e1;
    background: #fafbfc;
}

/* List layout */
.flavor-rules-list .flavor-rules-item {
    padding: 6px 0;
    border-bottom: 1px solid #e2e8f0;
}

.flavor-rules-list .flavor-rules-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

/* Banner layout */
.flavor-rules-banner {
    background: linear-gradient(135deg, #f0f4e4 0%, #f8fafc 100%);
    border: 1px solid rgba(107, 124, 63, 0.15);
}

.flavor-rules-banner .flavor-rules-items {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
}

.flavor-rules-banner .flavor-rules-item {
    flex: 1 1 160px;
    padding: 8px 12px;
    background: rgba(255, 255, 255, 0.7);
    border-radius: 6px;
    backdrop-filter: blur(4px);
}

/* Icon */
.flavor-rules-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    min-width: 28px;
    border-radius: 6px;
    background: rgba(107, 124, 63, 0.1);
    color: #6b7c3f;
    flex-shrink: 0;
}

.flavor-rules-icon svg {
    width: 13px;
    height: 13px;
    stroke: currentColor;
}

.flavor-rules-icon-warning {
    background: rgba(245, 158, 11, 0.1);
    color: #f59e0b;
}

.flavor-rules-icon-warning svg {
    stroke: #f59e0b;
}

.flavor-rules-icon-success {
    background: rgba(22, 163, 74, 0.1);
    color: #16a34a;
}

.flavor-rules-icon-success svg {
    stroke: #16a34a;
}

/* Item content */
.flavor-rules-item-content {
    display: flex;
    flex-direction: column;
    gap: 1px;
    flex: 1;
    min-width: 0;
}

.flavor-rules-label {
    font-size: 11px;
    color: #64748b;
    line-height: 1.3;
    font-weight: 500;
}

.flavor-rules-value {
    font-size: 13px;
    font-weight: 600;
    color: #1e293b;
    line-height: 1.3;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.flavor-rules-desc {
    font-size: 11px;
    color: #94a3b8;
    line-height: 1.3;
    margin-top: 1px;
}

/* Badges */
.flavor-rules-badge {
    display: inline-flex;
    align-items: center;
    padding: 1px 8px;
    border-radius: 20px;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.6;
    background: #6b7c3f;
    color: #ffffff;
    white-space: nowrap;
}

.flavor-rules-badge-warning {
    background: #f59e0b;
    color: #ffffff;
}

.flavor-rules-badge-success {
    background: #16a34a;
    color: #ffffff;
}

/* Group products */
.flavor-rules-group-products {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 4px;
}

.flavor-rules-group-product {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    background: rgba(107, 124, 63, 0.08);
    border-radius: 4px;
    font-size: 11px;
    line-height: 1.4;
    transition: background 0.2s ease;
}

.flavor-rules-group-product:hover {
    background: rgba(107, 124, 63, 0.16);
}

.flavor-rules-group-product a {
    color: #6b7c3f;
    text-decoration: none;
    font-weight: 500;
}

.flavor-rules-group-product a:hover {
    text-decoration: underline;
}

/* Preview placeholder */
.flavor-rules-preview {
    min-height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px dashed #e2e8f0;
    background: #f8fafc;
}

/* Responsive */
@media (max-width: 767px) {
    .flavor-rules-widget {
        padding: 12px 14px;
    }

    .flavor-rules-title {
        font-size: 12px;
        margin-bottom: 8px;
    }

    .flavor-rules-items {
        gap: 5px;
    }

    .flavor-rules-card .flavor-rules-item {
        padding: 6px 8px;
    }

    .flavor-rules-icon {
        width: 24px;
        height: 24px;
        min-width: 24px;
    }

    .flavor-rules-icon svg {
        width: 12px;
        height: 12px;
    }

    .flavor-rules-value {
        font-size: 12px;
    }

    .flavor-rules-label {
        font-size: 10px;
    }

    .flavor-rules-inline .flavor-rules-items,
    .flavor-rules-banner .flavor-rules-items {
        flex-direction: column;
    }

    .flavor-rules-inline .flavor-rules-item {
        text-align: left;
        flex-direction: row;
        align-items: flex-start;
    }

    .flavor-rules-inline .flavor-rules-item-content {
        align-items: flex-start;
    }
}

/* ========================================
   INFO NOTICE WIDGET
   ======================================== */

.flavor-notice-wrap {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 100%;
}

.flavor-notice {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: 8px;
    text-decoration: none;
    transition: opacity 0.2s ease;
    box-sizing: border-box;
}

a.flavor-notice:hover {
    opacity: 0.85;
}

/* Styles */
.flavor-notice-subtle {
    background: #f8fafc;
    border-left: 3px solid #6b7c3f;
}

.flavor-notice-bordered {
    background: #ffffff;
    border: 1px solid #6b7c3f;
}

.flavor-notice-filled {
    background: rgba(107, 124, 63, 0.08);
}

.flavor-notice-minimal {
    background: transparent;
    padding: 4px 0;
}

/* Icon */
.flavor-notice-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6b7c3f;
    flex-shrink: 0;
    line-height: 1;
}

.flavor-notice-icon-boxed {
    width: 30px;
    height: 30px;
    background: rgba(107, 124, 63, 0.1);
    border-radius: 6px;
}

.flavor-notice-icon svg {
    width: 16px;
    height: 16px;
    stroke: currentColor;
}

/* Text */
.flavor-notice-text {
    font-size: 13px;
    color: #475569;
    line-height: 1.4;
}

.flavor-notice-highlight {
    color: #1e293b;
    font-weight: 700;
}

@media (max-width: 767px) {
    .flavor-notice {
        padding: 8px 12px;
        gap: 6px;
    }

    .flavor-notice-text {
        font-size: 12px;
    }

    .flavor-notice-icon svg {
        width: 14px;
        height: 14px;
    }
}
