/**
 * Generator Finder - Wizard Styles
 * استایل‌های فرانت‌اند برای wizard سه مرحله‌ای
 * Version: 2.2.0
 */

/* ==================== فونت فارسی گوگل ==================== */
@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;500;600;700;800;900&display=swap');

/* ==================== ریست کلی ==================== */
.gfb-wizard-container,
.gfb-wizard-container *,
.gfb-wizard-container *::before,
.gfb-wizard-container *::after {
    box-sizing: border-box;
    font-family: 'Vazirmatn', var(--gfb-body-font, inherit), sans-serif;
}

.gfb-wizard-container input[type="number"],
.gfb-wizard-container input[type="text"],
.gfb-wizard-container input[type="checkbox"],
.gfb-wizard-container button,
.gfb-wizard-container select {
    font-family: 'Vazirmatn', var(--gfb-body-font, inherit), sans-serif;
}

/* ==================== کانتینر اصلی ==================== */
.gfb-wizard-container {
    max-width: 960px;
    margin: 30px auto;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
    font-family: 'Vazirmatn', var(--gfb-body-font, inherit), sans-serif;
    direction: rtl;
    font-size: var(--gfb-body-size, 14px);
    color: var(--gfb-text, #666);
}

/* ==================== هدر Wizard ==================== */
.gfb-wizard-header { background: transparent; padding: 20px 30px 30px; border-bottom: none; }
.gfb-wizard-steps { display: flex; justify-content: center; align-items: flex-start; gap: 0; }
.gfb-step { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 0 30px; position: relative; opacity: 0.5; transition: all 0.3s ease; }
.gfb-step::after { content: ''; position: absolute; left: -30px; top: 25px; width: 60px; height: 2px; background: var(--gfb-step-line, #e0e0e0); }
.gfb-step:last-child::after { display: none; }
.gfb-step.active { opacity: 1; }
.gfb-step.completed { opacity: 0.8; }
.gfb-step.completed .gfb-step-number { background: var(--gfb-step-completed-bg, #ffd101) !important; color: var(--gfb-step-completed-num, #333) !important; }
.gfb-step-number { width: var(--gfb-step-number-size, 50px); height: var(--gfb-step-number-size, 50px); border-radius: 50%; background: var(--gfb-step-inactive-bg, #e0e0e0) !important; color: var(--gfb-step-inactive-num, #999) !important; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: var(--gfb-step-number-font-size, 20px); flex-shrink: 0; transition: all 0.3s ease; }
.gfb-step.active .gfb-step-number { background: var(--gfb-step-active-bg, #dc3545) !important; color: var(--gfb-step-active-num, #fff) !important; box-shadow: 0 4px 16px var(--gfb-step-active-shadow, rgba(220,53,69,0.3)); transform: scale(1.05); }
.gfb-step-label { font-size: 13px; color: var(--gfb-step-label-inactive, #888); white-space: nowrap; font-weight: 500; text-align: center; }
.gfb-step.active .gfb-step-label { color: var(--gfb-step-label-active, #dc3545); font-weight: 600; }

/* ==================== محتوای مراحل ==================== */
.gfb-wizard-content { padding: 20px 0 40px; min-height: 400px; background: transparent; border-radius: 0; box-shadow: none; }
.gfb-step-content { display: none; animation: gfbFadeIn 0.3s ease; }
.gfb-step-content.active { display: block; }
@keyframes gfbFadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.gfb-step-title { font-size: var(--gfb-title-size, 22px) !important; margin: 0 0 6px 0 !important; color: var(--gfb-title, #1a1a1a) !important; font-weight: 800 !important; font-family: 'Vazirmatn', var(--gfb-title-font, inherit), sans-serif !important; text-align: center !important; }
.gfb-step-description { color: var(--gfb-desc, #999); margin-bottom: 25px; font-size: 15px; text-align: center !important; }

/* ==================== مرحله ۱ ==================== */
.gfb-locations-grid { display: grid; grid-template-columns: repeat(var(--gfb-location-cols, 3), 1fr); gap: 16px; margin-bottom: 30px; }
.gfb-location-card { border: 1px solid var(--gfb-loc-card-border, #eee) !important; border-radius: var(--gfb-card-border-radius, 12px) !important; padding: var(--gfb-loc-card-padding, 25px) 16px 20px !important; text-align: center; cursor: pointer; transition: all 0.25s ease; background: var(--gfb-loc-card-bg, #fff) !important; display: flex; flex-direction: column; align-items: center; }
.gfb-location-card:hover { border-color: var(--gfb-loc-card-hover-border, #dc3545) !important; background: var(--gfb-loc-card-hover-bg, #fff8f8) !important; transform: translateY(-2px); box-shadow: 0 4px 12px var(--gfb-loc-card-hover-shadow, rgba(220,53,69,0.1)); }
.gfb-location-card.selected { border-color: var(--gfb-loc-card-selected-border, #dc3545) !important; background: var(--gfb-loc-card-selected-bg, #ffe8e8) !important; box-shadow: 0 4px 16px var(--gfb-loc-card-selected-shadow, rgba(220,53,69,0.18)); }
.gfb-location-icon { margin-bottom: 12px; font-size: var(--gfb-loc-icon-size, 40px); text-align: center; height: 50px; display: flex; align-items: center; justify-content: center; }
.gfb-location-icon .dashicons { font-size: var(--gfb-loc-icon-size, 40px); width: var(--gfb-loc-icon-size, 40px); height: var(--gfb-loc-icon-size, 40px); color: var(--gfb-loc-icon-color, #dc3545) !important; display: inline-block; font-family: dashicons !important; }
.gfb-location-icon .dashicons::before { display: inline-block !important; font-family: dashicons !important; font-size: var(--gfb-loc-icon-size, 40px); width: var(--gfb-loc-icon-size, 40px); height: var(--gfb-loc-icon-size, 40px); }
.gfb-location-icon .gfb-location-img { width: 44px; height: 44px; object-fit: contain; }
.gfb-location-name { font-size: 15px; font-weight: 600; color: #333; margin-bottom: 6px; }
.gfb-location-desc { font-size: 12px; color: #999; line-height: 1.6; margin-top: auto; }

/* ==================== بنر نکته مهم ==================== */
.gfb-tip-banner { display: flex; align-items: center; gap: 14px; background: var(--gfb-tip-bg, #fffdf0); border: 1px solid var(--gfb-tip-border, #ffe880); border-radius: var(--gfb-card-border-radius, 12px); padding: 16px 20px; margin-top: 24px; }
.gfb-tip-banner.gfb-tip-sidebar { margin-top: 12px; padding: 12px 14px; gap: 8px; }
.gfb-tip-banner.gfb-tip-sidebar .gfb-tip-icon { font-size: 22px; }
.gfb-tip-banner.gfb-tip-sidebar .gfb-tip-text { font-size: 11px; }
.gfb-tip-icon { font-size: 32px; flex-shrink: 0; line-height: 1; }
.gfb-tip-content { display: flex; flex-direction: column; gap: 4px; }
.gfb-tip-title { font-size: 14px; font-weight: 700; color: var(--gfb-tip-title-color, #7a6500); }
.gfb-tip-text { font-size: 13px; color: var(--gfb-tip-text-color, #8a7a30); line-height: 1.6; }

/* ==================== مرحله ۲ ==================== */
.gfb-step2-layout { display: grid; grid-template-columns: 70% 30%; gap: 16px; margin-bottom: 24px; }
.gfb-sidebar { display: flex; flex-direction: column; gap: 10px; order: 1; }
.gfb-sidebar-card { background: var(--gfb-sidebar-bg, #fff); border: 1px solid var(--gfb-sidebar-border, #e8e8e8); border-radius: 10px; padding: 14px; box-shadow: 0 1px 3px rgba(0,0,0,0.03); position: relative; z-index: 1; }
.gfb-sidebar-header { display: flex; justify-content: space-between; align-items: center; font-size: 13px; font-weight: 700; color: var(--gfb-sidebar-header-color, #444); margin-bottom: 8px; padding-bottom: 8px; border-bottom: 1px solid #f0f0f0; }
.gfb-help-icon { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%; background: #f0f0f0; color: #999; font-size: 11px; font-weight: 700; cursor: help; transition: all 0.2s; }
.gfb-help-icon:hover { background: #e0e0e0; color: #666; }
.gfb-sidebar-summary { position: relative; background: #fafafa; border: 1px solid #f0f0f0; border-radius: 8px; padding: 10px; min-height: 50px; max-height: 220px; overflow-y: auto; z-index: 1; }
.gfb-sidebar-badge { position: absolute; top: 8px; right: 8px; width: 22px; height: 22px; border-radius: 50%; background: var(--gfb-primary, #dc3545); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; box-shadow: 0 2px 8px rgba(220,53,69,0.35); z-index: 100; }
.gfb-sidebar-empty { color: #bbb; text-align: center; padding: 8px 0; font-size: 12px; }
.gfb-sidebar-item-card { display: flex; align-items: center; gap: 8px; padding: 7px 8px; background: #fff; border: 1px solid #eee; border-radius: 8px; margin-bottom: 6px; transition: all 0.15s ease; }
.gfb-sidebar-item-card:last-child { margin-bottom: 0; }
.gfb-sidebar-item-card:hover { border-color: #ddd; box-shadow: 0 1px 3px rgba(0,0,0,0.04); }
.gfb-sidebar-item-name { flex: 1; font-size: 11px; font-weight: 600; color: #555; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gfb-sidebar-item-qty { font-size: 11px; font-weight: 700; color: #888; flex-shrink: 0; }
.gfb-sidebar-item-power { font-size: 10px; color: #aaa; flex-shrink: 0; }
.gfb-main { display: flex; flex-direction: column; gap: 14px; order: 0; }
.gfb-phase-filters { display: flex; gap: 8px; }
.gfb-phase-btn { flex: 1; padding: 10px 18px; border: 1px solid #d0d0d0; border-radius: var(--gfb-btn-border-radius, 8px); background: #fafafa; color: #333; font-size: 13px; font-weight: 500; cursor: pointer; transition: all 0.25s ease; text-align: center; white-space: nowrap; }
.gfb-phase-btn:hover { background: #fff8e1; border-color: #f0c040; color: #5a4a00; }
.gfb-phase-btn.active { background: #fff8e1; color: #5a4a00; border-color: #f0c040; box-shadow: 0 0 0 1px #f0c040; font-weight: 600; }
.gfb-area-input { margin: 0; }
.gfb-area-input label { display: block; margin-bottom: 6px; font-weight: 600; color: #444; font-size: 13px; }
.gfb-input { width: 100%; padding: 10px 14px !important; border: 1.5px solid #e0e0e0 !important; border-radius: var(--gfb-input-border-radius, 8px) !important; font-size: 14px !important; background: #fff !important; box-sizing: border-box !important; height: 42px !important; line-height: 1.6 !important; transition: all 0.2s ease; }
.gfb-input:focus { outline: none !important; border-color: var(--gfb-input-focus-border, #dc3545) !important; background: #fff !important; box-shadow: 0 0 0 3px var(--gfb-input-focus-shadow, rgba(220,53,69,0.08)) !important; }
.gfb-appliances-accordion { display: flex; flex-direction: column; gap: 6px; }
.gfb-accordion-item { border: 1px solid var(--gfb-accordion-border, #e8e8e8); border-radius: 10px; overflow: hidden; transition: box-shadow 0.2s; }
.gfb-accordion-item:hover { box-shadow: 0 2px 8px rgba(0,0,0,0.04); }
.gfb-accordion-header { display: flex; align-items: center; gap: 10px; padding: 13px 16px; background: var(--gfb-accordion-bg, #fafbfc); cursor: pointer; font-size: 13px; font-weight: 600; color: var(--gfb-accordion-title-color, #444); transition: all 0.2s; user-select: none; }
.gfb-accordion-header:hover { background: var(--gfb-accordion-hover-bg, #f0f2f5); }
.gfb-accordion-title { flex: 1; }
.gfb-accordion-arrow { font-size: 10px; color: #bbb; transition: transform 0.25s ease; width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; }
.gfb-accordion-header.open .gfb-accordion-arrow { transform: rotate(180deg); }
.gfb-accordion-body { padding: 2px 0; }
.gfb-appliance-row { display: flex; align-items: center; gap: 10px; padding: 11px 16px; border-bottom: 1px solid #f8f8f8; transition: all 0.2s ease; position: relative; }
.gfb-appliance-row:last-child { border-bottom: none; }
.gfb-appliance-row:hover { background: var(--gfb-appliance-row-hover-bg, #fafcfd); }
.gfb-appliance-row.has-items { background: var(--gfb-appliance-row-selected-bg, #fdfdff); }
.gfb-appliance-row.has-items::before { content: ''; position: absolute; right: 0; top: 0; bottom: 0; width: 3px; background: #ffd101; border-radius: 0 2px 2px 0; }
.gfb-appliance-info { display: flex; flex-direction: column; gap: 2px; flex: 1; min-width: 0; }
.gfb-appliance-name { font-size: 13px; font-weight: 600; color: #333; transition: color 0.2s; }
.gfb-appliance-row.has-items .gfb-appliance-name { color: #1a1a1a; }
.gfb-appliance-power-info { font-size: 11px; color: #aaa; }
.gfb-appliance-qty { display: flex; align-items: center; gap: 2px; flex-shrink: 0; background: var(--gfb-qty-bg, #f5f5f5); border-radius: 10px; padding: 3px; }
.gfb-qty-btn { width: 30px; height: 30px; border: 1.5px solid transparent; border-radius: 8px; background: var(--gfb-qty-btn-bg, #fff); color: var(--gfb-qty-btn-color, #888); font-size: 17px; font-weight: 600; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.2s ease; line-height: 1; padding: 0; pointer-events: auto; }
.gfb-qty-btn:hover { background: #ebebeb; border-color: #ddd; color: #333; }
.gfb-appliance-row.has-items .gfb-qty-btn:hover { background: #ffe0e0; border-color: #f5c6cb; color: var(--gfb-primary, #dc3545); }
.gfb-appliance-row:not(.has-items) .gfb-qty-btn { opacity: 0.4; background: transparent; }
.gfb-appliance-qty-input { width: 36px; height: 30px; text-align: center; border: none; border-radius: 6px; font-size: 14px; font-weight: 700; color: #555; background: #fff; -moz-appearance: textfield; pointer-events: auto; }
.gfb-appliance-row.has-items .gfb-appliance-qty-input { color: var(--gfb-primary, #dc3545); }
.gfb-appliance-qty-input::-webkit-outer-spin-button,
.gfb-appliance-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.gfb-appliance-qty-input:focus { outline: none; background: #fff; box-shadow: 0 0 0 2px rgba(220,53,69,0.15); }
.gfb-appliance-check { flex-shrink: 0; width: 24px; text-align: center; }
.gfb-check-icon { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: #ffd101; color: #7a6500; font-size: 12px; font-weight: 700; }

/* ★★★ فوتر مرحله ۲ — ۳ ستونه ★★★ */
.gfb-step2-footer { background: var(--gfb-footer-bg, #fff); border: 1px solid var(--gfb-footer-border, #e8e8e8); border-radius: var(--gfb-card-border-radius, 12px); padding: 20px 24px; transition: all 0.3s ease; box-shadow: 0 1px 3px rgba(0,0,0,0.03); }
.gfb-step2-footer.gfb-pulse { animation: gfbPulse 0.5s ease; }
@keyframes gfbPulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(220,53,69,0.2); } 50% { box-shadow: 0 0 0 10px rgba(220,53,69,0); } }
.gfb-footer-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid #f0f0f0; }
.gfb-footer-stats-3col { grid-template-columns: repeat(3, 1fr) !important; }
.gfb-stat-item { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; }
.gfb-stat-icon { font-size: 24px; } .gfb-stat-label { font-size: 11px; color: var(--gfb-stat-label-color, #aaa); } .gfb-stat-value { font-size: 15px; font-weight: 700; color: var(--gfb-stat-value-color, #333); }
.gfb-footer-result { display: flex; flex-direction: column; align-items: center; margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid #f0f0f0; }
.gfb-result-label { font-size: 14px; color: #888; } .gfb-result-value { font-size: 38px; font-weight: 900; color: var(--gfb-result-value-color, #dc3545); margin: 6px 0; } .gfb-result-note { font-size: 12px; color: #bbb; }
.gfb-footer-actions { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.gfb-footer-disclaimer { font-size: 11px; color: #bbb; text-align: center; margin: 0; line-height: 1.6; }
.gfb-custom-appliance { padding: 18px; background: var(--gfb-custom-bg, #fafbfc); border: 1.5px dashed var(--gfb-custom-border, #e0e0e0); border-radius: 10px; transition: border-color 0.2s; }
.gfb-custom-appliance:hover { border-color: #ccc; }
.gfb-custom-form { margin-top: 14px; padding: 16px; background: #fff; border-radius: 8px; border: 1px solid #eee; }
.gfb-custom-row { display: flex; gap: 10px; margin-bottom: 12px; flex-wrap: wrap; align-items: center; }
.gfb-custom-row .gfb-input { flex: 1; min-width: 100px; width: auto; }
.gfb-custom-appliances-list { margin-top: 14px; }
.gfb-custom-item { display: flex; align-items: center; gap: 10px; padding: 8px 12px; background: #fff; border: 1px solid #eee; border-radius: 8px; margin-bottom: 6px; }
.gfb-custom-item-name { flex: 1; font-weight: 500; font-size: 14px; } .gfb-custom-item-details { color: #aaa; font-size: 12px; }

/* ==================== مرحله ۳ ==================== */
.gfb-info-bar { display: flex; align-items: stretch; gap: 0; background: var(--gfb-info-bar-bg, #fffdf0); border: 1px solid var(--gfb-info-bar-border, #ffe880); border-radius: var(--gfb-card-border-radius, 12px); overflow: hidden; margin-bottom: 25px; box-shadow: 0 1px 3px rgba(0,0,0,0.03); }
.gfb-info-items { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; flex: 6; padding: 10px 6px; }
.gfb-info-item { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; padding: 6px 4px; text-align: center; }
.gfb-info-icon { font-size: 18px; flex-shrink: 0; line-height: 1; }
.gfb-info-title { font-size: 8px; font-weight: 600; color: var(--gfb-tip-title-color, #7a6500); text-transform: uppercase; letter-spacing: 0.3px; white-space: nowrap; }
.gfb-info-value { font-size: 11px; font-weight: 700; color: #555; }
.gfb-info-result { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; flex: 1; padding: 12px 10px; background: var(--gfb-info-result-bg, #fff8e1); border-right: 2px solid var(--gfb-info-result-border, #f0c040); min-width: 220px; text-align: center; order: -1; }
.gfb-info-result-label { font-size: 10px; color: var(--gfb-tip-text-color, #8a7a30); font-weight: 600; }
.gfb-info-result-value { font-size: 18px; font-weight: 900; color: var(--gfb-primary, #dc3545); }
.gfb-info-result-note { font-size: 8px; color: #aaa; line-height: 1.6; }

.gfb-result-filters { display: flex; gap: 8px; margin-bottom: 25px; flex-wrap: wrap; }
.gfb-wizard-container .gfb-filter-btn,
.gfb-wizard-container button.gfb-filter-btn { padding: 8px 20px !important; border: 1.5px solid #e0e0e0 !important; background: #fff !important; border-radius: var(--gfb-btn-border-radius, 20px) !important; cursor: pointer !important; font-size: 13px !important; font-weight: 600 !important; color: #666 !important; transition: all 0.2s !important; font-family: 'Vazirmatn', var(--gfb-body-font, inherit), sans-serif !important; line-height: 1.6 !important; height: auto !important; min-height: 36px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; box-sizing: border-box !important; text-decoration: none !important; outline: none !important; }
.gfb-wizard-container .gfb-filter-btn:focus,
.gfb-wizard-container .gfb-filter-btn:focus-visible { outline: none !important; box-shadow: none !important; }
.gfb-wizard-container .gfb-filter-btn:hover { border-color: var(--gfb-filter-hover-border, #dc3545) !important; color: var(--gfb-filter-hover-color, #dc3545) !important; background: #fff8f8 !important; }
.gfb-wizard-container .gfb-filter-btn.active { background: var(--gfb-filter-active-bg, #dc3545) !important; color: var(--gfb-filter-active-text, #fff) !important; border-color: var(--gfb-filter-active-bg, #dc3545) !important; }

.gfb-products-grid { display: grid; grid-template-columns: repeat(var(--gfb-product-cols, 3), 1fr); gap: 14px; margin-bottom: 25px; }

/* ★★★ کارت محصول ★★★ */
.gfb-product-card { border: 1px solid var(--gfb-product-card-border, #eee) !important; border-radius: var(--gfb-card-border-radius, 12px) !important; overflow: hidden; transition: all 0.25s ease; position: relative; background: var(--gfb-product-card-bg, #fff) !important; display: flex; flex-direction: column; width: 100%; box-sizing: border-box; }
.gfb-product-card:hover { box-shadow: 0 8px 24px var(--gfb-product-card-hover-shadow, rgba(0,0,0,0.1)); transform: translateY(-3px); border-color: #ddd; }
.gfb-card-suitable { background: #fffef5 !important; border-color: #f0e68c !important; }
.gfb-top-badge { position: absolute; top: 0; right: 50%; transform: translateX(50%); background: #f0c040; color: #5a4a00; font-size: 10px; font-weight: 700; padding: 4px 14px; border-radius: 0 0 8px 8px; z-index: 3; white-space: nowrap; box-shadow: 0 1px 3px rgba(0,0,0,0.1); }
.gfb-product-badge { position: absolute; top: 12px; right: 12px; padding: 4px 10px; border-radius: 12px; font-size: 11px; font-weight: 600; z-index: 2; }
.gfb-badge-sure { background: #4caf50 !important; color: #fff !important; }
.gfb-badge-suitable { background: #f0c040 !important; color: #fff !important; }
.gfb-badge-minimal { background: #888 !important; color: #fff !important; }
.gfb-badge-excellent { background: var(--gfb-badge-excellent-bg, #fffdf0) !important; color: var(--gfb-badge-excellent-text, #7a6500) !important; }
.gfb-badge-acceptable { background: var(--gfb-badge-acceptable-bg, #fff8e1) !important; color: var(--gfb-badge-acceptable-text, #f57c00) !important; }
.gfb-badge-minimum { background: var(--gfb-badge-minimum-bg, #ffebee) !important; color: var(--gfb-badge-minimum-text, #c62828) !important; }
.gfb-product-image { width: 100%; height: 180px; overflow: hidden; background: #fafafa; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.gfb-product-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s; }
.gfb-product-card:hover .gfb-product-image img { transform: scale(1.04); }
.gfb-no-image { color: #ddd; font-size: 13px; }
.gfb-product-info { padding: 16px; display: flex; flex-direction: column; flex: 1; }
.gfb-product-title { margin: 0 0 8px 0; font-size: 14px; line-height: 1.6; }
.gfb-product-title a { color: #333; text-decoration: none; }
.gfb-product-title a:hover { color: var(--gfb-primary, #dc3545); }
.gfb-product-advantage { font-size: 11px; color: #888; font-weight: 500; margin-bottom: 10px; padding: 6px 10px; background: #fafafa; border-radius: 6px; text-align: center; line-height: 1.6; }
.gfb-product-price { font-size: 16px; font-weight: 700; color: #1a1a1a; margin-bottom: 12px; }
.gfb-view-product { display: block; text-align: center; width: auto; margin-top: auto; box-sizing: border-box; }

/* ★★★ جدول مقایسه ★★★ */
.gfb-compare-table { background: var(--gfb-compare-bg, #fff); border: 1px solid var(--gfb-compare-border, #e8e8e8); border-radius: var(--gfb-card-border-radius, 12px); padding: 20px 24px; margin-bottom: 25px; box-shadow: 0 1px 3px rgba(0,0,0,0.03); }
.gfb-compare-title { font-size: 16px; font-weight: 700; color: #333; margin: 0 0 16px 0; text-align: center; }
.gfb-compare-grid { display: flex; flex-direction: column; gap: 0; }
.gfb-compare-header { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 0; border-bottom: 2px solid #f0f0f0; padding-bottom: 12px; margin-bottom: 4px; }
.gfb-compare-row { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 0; padding: 12px 0; border-bottom: 1px solid #f8f8f8; }
.gfb-compare-row:last-child { border-bottom: none; }
.gfb-compare-cell { display: flex; align-items: center; justify-content: center; text-align: center; padding: 4px 8px; }
.gfb-compare-label { font-size: 12px; font-weight: 600; color: #555; justify-content: flex-start; }
.gfb-compare-col-header { font-size: 12px; font-weight: 700; color: #555; }
.gfb-dots { display: flex; align-items: center; justify-content: center; gap: 5px; }
.gfb-dot { width: 14px; height: 14px; border-radius: 50%; display: inline-block; transition: all 0.2s ease; }
.gfb-dot-filled { box-shadow: 0 1px 3px rgba(0,0,0,0.15); }
.gfb-dot-empty { background: #e8e8e8 !important; border: 1px solid #ddd; }

/* ==================== بخش پشتیبانی ==================== */
.gfb-support-banner { display: flex; align-items: center; justify-content: space-between; gap: 16px; background: var(--gfb-support-bg, #fff8f8); border: 1px solid var(--gfb-support-border, #ffd0d0); border-radius: var(--gfb-card-border-radius, 12px); padding: 18px 24px; margin-top: 24px; }
.gfb-support-content { display: flex; flex-direction: column; gap: 4px; }
.gfb-support-title { font-size: 15px; font-weight: 700; color: var(--gfb-support-title-color, #c62828); }
.gfb-support-text { font-size: 13px; color: var(--gfb-support-text-color, #888); line-height: 1.6; }
.gfb-support-btn { flex-shrink: 0; white-space: nowrap; }

/* ==================== دکمه‌ها ==================== */
.gfb-step-actions { display: flex; justify-content: space-between; margin-top: 20px; gap: 12px; }
.gfb-wizard-container button.gfb-btn,
.gfb-wizard-container .gfb-btn,
.gfb-wizard-container a.gfb-btn { padding: 10px 24px !important; border: 1px solid transparent !important; border-radius: var(--gfb-btn-border-radius, 8px) !important; cursor: pointer !important; font-size: var(--gfb-body-size, 14px) !important; font-weight: 600 !important; transition: all 0.2s ease !important; text-decoration: none !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; box-sizing: border-box !important; font-family: 'Vazirmatn', var(--gfb-body-font, inherit), sans-serif !important; line-height: 1.6 !important; height: 44px !important; min-height: 44px !important; white-space: nowrap !important; user-select: none !important; outline: none !important; background-image: none !important; }
.gfb-wizard-container button.gfb-btn:focus,
.gfb-wizard-container .gfb-btn:focus,
.gfb-wizard-container a.gfb-btn:focus { outline: none !important; box-shadow: none !important; }
.gfb-wizard-container button.gfb-btn-primary,
.gfb-wizard-container .gfb-btn-primary,
.gfb-wizard-container a.gfb-btn-primary { background: var(--gfb-btn-bg, #dc3545) !important; color: var(--gfb-btn-text, #fff) !important; border-color: var(--gfb-btn-bg, #dc3545) !important; }
.gfb-wizard-container button.gfb-btn-primary:hover,
.gfb-wizard-container .gfb-btn-primary:hover { background: var(--gfb-btn-hover-bg, #c82333) !important; border-color: var(--gfb-btn-hover-bg, #c82333) !important; transform: translateY(-1px) !important; box-shadow: 0 4px 12px var(--gfb-btn-hover-shadow, rgba(220,53,69,0.3)) !important; }
.gfb-wizard-container button.gfb-btn-primary:active,
.gfb-wizard-container .gfb-btn-primary:active { transform: translateY(0) !important; box-shadow: none !important; }
.gfb-wizard-container button.gfb-btn-primary:disabled,
.gfb-wizard-container .gfb-btn-primary:disabled { background: #ccc !important; border-color: #ccc !important; cursor: not-allowed !important; color: #999 !important; }
.gfb-wizard-container button.gfb-btn-outline,
.gfb-wizard-container .gfb-btn-outline,
.gfb-wizard-container a.gfb-btn-outline { background: #fff !important; color: var(--gfb-btn-outline-text, #dc3545) !important; border: 1px solid var(--gfb-btn-outline-border, #dc3545) !important; }
.gfb-wizard-container button.gfb-btn-outline:hover,
.gfb-wizard-container .gfb-btn-outline:hover { background: var(--gfb-btn-outline-hover-bg, #fff8f8) !important; color: var(--gfb-btn-outline-hover-text, #dc3545) !important; border-color: var(--gfb-btn-outline-text, #dc3545) !important; }
.gfb-wizard-container button.gfb-btn-sm,
.gfb-wizard-container .gfb-btn-sm { padding: 6px 14px !important; font-size: 13px !important; height: 34px !important; min-height: 34px !important; border-radius: 6px !important; }
.gfb-wizard-container .gfb-add-custom,
.gfb-wizard-container .gfb-cancel-custom { margin-top: 4px !important; }
.gfb-wizard-container .gfb-remove-custom { background: #fff !important; color: #e53935 !important; border: 1px solid #ffcdd2 !important; border-radius: 6px !important; width: 28px !important; height: 28px !important; min-height: 28px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; cursor: pointer !important; font-size: 14px !important; padding: 0 !important; flex-shrink: 0; transition: all 0.2s; }
.gfb-wizard-container .gfb-remove-custom:hover { background: #ffebee !important; border-color: #e53935 !important; }
.gfb-wizard-container .gfb-toggle-custom { width: 100% !important; }
.gfb-wizard-container .gfb-view-product.gfb-btn,
.gfb-wizard-container a.gfb-view-product.gfb-btn { display: flex !important; width: 100% !important; margin-top: auto !important; text-align: center !important; }

/* ==================== حالات مختلف ==================== */
.gfb-loading { text-align: center; padding: 30px; color: #aaa; font-size: 15px; }
.gfb-no-products { text-align: center; padding: 50px 20px; color: #aaa; font-size: 15px; }
.gfb-no-filter-results { text-align: center; padding: 20px; color: #e53935; font-size: 14px; }

/* ==================== ریسپانسیو ==================== */
@media (max-width: 768px) {
    .gfb-wizard-container { margin: 10px; } .gfb-wizard-header { padding: 15px 10px 25px; }
    .gfb-step { padding: 0 18px; } .gfb-step::after { width: 36px; left: -18px; }
    .gfb-step-number { width: 42px; height: 42px; font-size: 18px; } .gfb-step-label { font-size: 11px; }
    .gfb-wizard-content { padding: 20px 0 30px; }
    .gfb-locations-grid { grid-template-columns: repeat(var(--gfb-location-cols-tablet, 2), 1fr); gap: 10px; }
    .gfb-products-grid { grid-template-columns: repeat(var(--gfb-product-cols-tablet, 2), 1fr); gap: 10px; }
    .gfb-step2-layout { grid-template-columns: 1fr; } .gfb-sidebar { order: -1; }
    .gfb-footer-stats { grid-template-columns: repeat(2, 1fr); } .gfb-footer-stats-3col { grid-template-columns: repeat(3, 1fr) !important; }
    .gfb-result-value { font-size: 28px; }
    .gfb-info-bar { flex-direction: column; } .gfb-info-items { grid-template-columns: repeat(3, 1fr); flex: auto; }
    .gfb-info-result { order: 0; border-right: none; border-bottom: 2px solid var(--gfb-info-result-border, #f0c040); flex: auto; }
    .gfb-compare-grid { font-size: 11px; } .gfb-compare-header, .gfb-compare-row { grid-template-columns: 1.5fr 1fr 1fr 1fr; }
    .gfb-support-banner { flex-direction: column; text-align: center; }
    .gfb-tip-banner { flex-direction: row; padding: 14px 16px; gap: 10px; } .gfb-tip-icon { font-size: 26px; } .gfb-tip-text { font-size: 12px; }
    .gfb-custom-row { flex-direction: column; } .gfb-custom-row .gfb-input { width: 100%; }
    .gfb-step-actions { flex-direction: column; gap: 10px; } .gfb-footer-actions { flex-direction: column; }
    .gfb-wizard-container .gfb-btn { width: 100% !important; }
}

@media (max-width: 480px) {
    .gfb-locations-grid { grid-template-columns: repeat(var(--gfb-location-cols-mobile, 1), 1fr); }
    .gfb-products-grid { grid-template-columns: repeat(var(--gfb-product-cols-mobile, 1), 1fr); }
    .gfb-info-items { grid-template-columns: repeat(2, 1fr); }
    .gfb-compare-header, .gfb-compare-row { grid-template-columns: 1.2fr 1fr 1fr 1fr; }
    .gfb-dot { width: 10px; height: 10px; }
    .gfb-footer-stats { grid-template-columns: repeat(2, 1fr); gap: 8px; } .gfb-footer-stats-3col { grid-template-columns: repeat(3, 1fr) !important; }
    .gfb-stat-value { font-size: 13px; }
    .gfb-result-value { font-size: 24px; } .gfb-result-filters { flex-direction: column; }
    .gfb-wizard-container .gfb-filter-btn { width: 100% !important; text-align: center !important; }
}