/* شکوفایی - محاسبه‌گر قیمت v3 */

.shekoufaei-calculator {
    max-width: 640px;
    margin: 30px auto;
    font-family: Tahoma, 'Segoe UI', sans-serif;
    direction: rtl;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    border: 1px solid #e5e7eb;
}
#shekoufaei-price-calculator .shek-step-hidden{display:none!important;visibility:hidden!important}

.shekoufaei-header {
    background: linear-gradient(135deg, #059669 0%, #047857 100%);
    color: #ffffff;
    padding: 28px 24px;
    text-align: center;
}

.shekoufaei-header h2 {
    margin: 0 0 8px 0;
    font-size: 1.6rem;
    font-weight: 700;
}

.shekoufaei-header p {
    margin: 0;
    font-size: 0.95rem;
    opacity: 0.9;
}

.shekoufaei-form {
    padding: 28px 24px;
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: #1f2937;
    font-size: 0.95rem;
}

.shekoufaei-select,
.shekoufaei-input {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    font-size: 1rem;
    background: #f9fafb;
    color: #111827;
    transition: border-color 0.2s, box-shadow 0.2s;
    box-sizing: border-box;
}

.shekoufaei-select:focus,
.shekoufaei-input:focus {
    outline: none;
    border-color: #059669;
    box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.15);
    background: #ffffff;
}

.shekoufaei-btn {
    width: 100%;
    padding: 14px 20px;
    background: linear-gradient(135deg, #059669 0%, #047857 100%);
    color: #ffffff;
    border: none;
    border-radius: 12px;
    font-size: 1.1rem;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.15s, box-shadow 0.15s;
    margin-top: 8px;
}

.shekoufaei-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(5, 150, 105, 0.35);
}

.shekoufaei-btn-secondary {
    padding: 12px 18px;
    background: #e5e7eb;
    color: #1f2937;
    border: none;
    border-radius: 10px;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}

.shekoufaei-btn-secondary:hover {
    background: #d1d5db;
}

/* نتیجه */
.shekoufaei-result {
    padding: 0 24px 28px;
}

.result-card {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 14px;
    padding: 22px;
}

.result-card h3 {
    margin: 0 0 18px 0;
    color: #047857;
    font-size: 1.25rem;
    text-align: center;
}

.result-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px dashed #d1fae5;
}

.result-item:last-of-type {
    border-bottom: none;
}

.result-item .label {
    color: #374151;
    font-weight: 500;
}

.result-item .value {
    color: #111827;
    font-weight: 600;
    text-align: left;
}

.result-item .value.price {
    color: #047857;
    font-size: 1.15rem;
}

.result-note {
    margin-top: 16px;
    padding: 12px;
    background: #ecfdf5;
    border-radius: 8px;
    font-size: 0.85rem;
    color: #065f46;
    line-height: 1.6;
}

.result-note p {
    margin: 0;
}

.shekoufaei-contact-btn {
    display: block;
    margin-top: 18px;
    text-align: center;
    padding: 12px;
    background: #047857;
    color: #ffffff !important;
    text-decoration: none;
    border-radius: 10px;
    font-weight: 600;
    transition: background 0.2s;
}

.shekoufaei-contact-btn:hover {
    background: #065f46;
    color: #ffffff !important;
}

@media (max-width: 480px) {
    .shekoufaei-calculator {
        margin: 15px 10px;
        border-radius: 12px;
    }
    .shekoufaei-header {
        padding: 22px 16px;
    }
    .shekoufaei-header h2 {
        font-size: 1.35rem;
    }
    .shekoufaei-form {
        padding: 20px 16px;
    }
    .result-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }
}

.shek-request-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:15px 0}
.shek-service-request input,.shek-service-request select,.shek-service-request textarea{width:100%;box-sizing:border-box;padding:10px;border:1px solid #ccc;border-radius:6px}
.shek-service-request textarea{min-height:90px;margin-top:10px}.shek-summary{display:flex;gap:25px;flex-wrap:wrap;padding:15px;margin:15px 0;background:#f7f7f7;border-radius:8px}
#shek-submit-request{padding:11px 20px;cursor:pointer}

/* Request modal */
.shek-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
}
.shek-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.45);
}
.shek-modal-content {
    position: relative;
    max-width: 560px;
    margin: 40px auto;
    background: #fff;
    border-radius: 16px;
    padding: 28px 24px;
    box-shadow: 0 20px 50px rgba(0,0,0,.2);
    max-height: calc(100vh - 80px);
    overflow-y: auto;
}
.shek-modal-close {
    position: absolute;
    top: 12px;
    left: 16px;
    border: none;
    background: transparent;
    font-size: 1.6rem;
    cursor: pointer;
    color: #6b7280;
    line-height: 1;
}
.shek-modal-content h3 {
    margin: 0 0 8px;
    color: #047857;
}
.shek-modal-sub {
    margin: 0 0 16px;
    font-size: 0.9rem;
    color: #6b7280;
}
.shek-request-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 14px;
}
.shek-request-grid input,
.shek-request-grid textarea,
.shek-request-grid label {
    width: 100%;
    box-sizing: border-box;
}
.shek-request-grid .shek-customer-field{display:flex!important;visibility:visible!important;opacity:1!important;flex-direction:column!important;gap:6px!important;min-height:72px!important;color:#111827!important}
.shek-request-grid .shek-customer-field input{display:block!important;visibility:visible!important;opacity:1!important;min-height:46px!important;background:#fff!important;color:#111827!important;border:1px solid #9ca3af!important}
.shek-request-grid .shek-mobile-field strong{color:#b91c1c!important}
@media(max-width:560px){.shek-request-grid .shek-mobile-field{grid-column:1/-1!important;order:-1!important}}
.shek-request-grid input,
.shek-request-grid textarea {
    padding: 10px 12px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 0.95rem;
    background: #f9fafb;
}
.shek-request-grid .shek-full {
    grid-column: 1 / -1;
}
.shek-request-grid label {
    font-size: 0.85rem;
    color: #374151;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.shek-summary-box {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 10px;
    padding: 12px 14px;
    margin-bottom: 14px;
    font-size: 0.9rem;
    line-height: 1.8;
}
.shek-summary-box .shek-sum-total {
    font-weight: 700;
    border-top: 1px solid #bbf7d0;
    margin-top: 6px;
    padding-top: 6px;
}
@media (max-width: 560px) {
    .shek-request-grid {
        grid-template-columns: 1fr;
    }
}


/* روزهای کاری */
.shek-days-box { margin: 8px 0 4px; }
.shek-days-label { display: block; font-weight: 600; margin-bottom: 8px; color: #374151; }
.shek-days-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  padding: 10px 12px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
}
.shek-days-checks label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.92rem;
  cursor: pointer;
  user-select: none;
}
.shek-days-checks input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #059669;
}


/* v3.9.1 — mobile-safe CTA and contact area */
#open-request-btn.shekoufaei-btn { display:block !important; visibility:visible !important; opacity:1 !important; position:relative; z-index:2; }
.shekoufaei-contact-box { margin-top:16px; padding:14px; border:1px solid #d1fae5; border-radius:12px; background:#f8fffb; }
.shekoufaei-contact-title { text-align:center; font-weight:700; color:#047857; margin-bottom:10px; }
.shekoufaei-contact-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.shekoufaei-contact-actions .shekoufaei-contact-btn { margin-top:0; }
.shek-whatsapp-btn { background:#16a34a !important; }
.shek-call-btn { background:#047857 !important; }
.shek-phone-links { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 14px; margin-top:10px; font-size:.82rem; }
.shek-phone-links a { color:#374151; text-decoration:none; }
.shek-phone-links a:hover { text-decoration:underline; }
#franchise-row { min-height:48px; }
#result-franchise { white-space:normal; overflow-wrap:anywhere; }
@media (max-width:560px) {
  #open-request-btn.shekoufaei-btn { font-size:1rem; padding:15px 12px; min-height:52px; }
  .shekoufaei-contact-actions { grid-template-columns:1fr; }
  .shekoufaei-contact-actions .shekoufaei-contact-btn { min-height:48px; display:flex; align-items:center; justify-content:center; }
  .shek-phone-links { flex-direction:column; align-items:center; }
}

/* v3.9.2 — mobile visibility + WhatsApp request action */
.shek-success-whatsapp { display:inline-flex; align-items:center; justify-content:center; gap:6px; margin-top:12px; padding:11px 14px; border-radius:9px; background:#16a34a; color:#fff !important; text-decoration:none !important; font-weight:700; min-height:44px; box-sizing:border-box; }
.shek-success-whatsapp:hover { filter:brightness(.95); }
#price-result .result-card { width:100%; box-sizing:border-box; }
#price-result .result-item { min-height:44px; align-items:center; }
#price-result #franchise-row { display:none; }
#price-result #franchise-row[style*="display: flex"] { display:flex !important; }
#price-result #result-franchise { font-weight:800; }
.shekoufaei-contact-box { width:100%; box-sizing:border-box; }
@media (max-width:560px) {
  #price-result { width:100%; overflow:visible; }
  #price-result .result-card { padding:14px !important; }
  #price-result .result-item { display:flex !important; flex-direction:column; align-items:stretch; gap:5px; padding:10px 0; }
  #price-result .result-item .label, #price-result .result-item .value { width:100%; text-align:right; }
  #price-result #franchise-row[style*="display: flex"] { display:flex !important; }
  #open-request-btn.shekoufaei-btn { display:block !important; width:100% !important; min-height:54px !important; margin-top:14px !important; }
  .shekoufaei-contact-box { margin-top:14px; }
  .shekoufaei-contact-actions a { width:100%; }
  .shek-success-whatsapp { width:100%; }
  .shek-modal-content { margin:12px; padding:22px 14px; max-height:calc(100vh - 24px); border-radius:12px; }
}


/* v3.9.5 — robust mobile CTA visibility */
#shek-mobile-request-bar { display:none; }
#shek-mobile-request-bar .shekoufaei-btn { display:block !important; visibility:visible !important; opacity:1 !important; width:100% !important; min-height:54px !important; }
@media (max-width:560px) {
  #shek-mobile-request-bar {
    display:block !important;
    position:fixed !important;
    left:10px !important;
    right:10px !important;
    bottom:calc(10px + env(safe-area-inset-bottom)) !important;
    z-index:2147483000 !important;
    padding:8px !important;
    background:#ffffff !important;
    border:1px solid #d1d5db !important;
    border-radius:14px !important;
    box-shadow:0 8px 30px rgba(0,0,0,.18) !important;
    box-sizing:border-box !important;
  }
  #shek-mobile-request-bar .shekoufaei-btn { margin:0 !important; }
  #shek-mobile-request-bar .shekoufaei-btn:disabled { opacity:.65 !important; cursor:not-allowed !important; }
  #price-result #open-request-btn { display:block !important; visibility:visible !important; opacity:1 !important; width:100% !important; }
}

/* v3.9.5 — mobile request CTA is always visible; disabled until calculation */
@media (max-width:560px) {
  #shek-mobile-request-bar { display:block !important; }
  #shek-mobile-request-bar .shekoufaei-btn { display:block !important; width:100% !important; min-height:56px !important; }
}
.shekoufaei-add-service { margin-top:12px !important; }
.shekoufaei-admin-card table { margin-bottom:8px; }

/* v3.9.6 — reliable mobile request/WhatsApp/franchise presentation */
#open-request-btn, #shek-mobile-request-btn { position:relative; z-index:20 !important; pointer-events:auto !important; }
#price-result #franchise-row { visibility:visible !important; }
#price-result #franchise-row .value, #price-result #result-franchise { display:block !important; visibility:visible !important; opacity:1 !important; min-height:24px; }
.shekoufaei-add-service { margin-top:12px !important; min-height:42px !important; font-weight:700 !important; }
.shekoufaei-remove-service { min-height:36px !important; }
@media (max-width:560px) {
  #open-request-btn { display:block !important; visibility:visible !important; opacity:1 !important; pointer-events:auto !important; }
  #price-result #franchise-row { display:flex !important; visibility:visible !important; }
  #price-result #franchise-row .value, #price-result #result-franchise { display:block !important; }
  .shekoufaei-add-service { width:100% !important; margin-top:14px !important; }
}


/* Shekoufaei 3.9.7 - region context */
.shekoufaei-region-context{display:block!important;width:100%;box-sizing:border-box;margin:0 0 12px;padding:10px 14px;border-radius:10px;font-size:15px;line-height:1.7;text-align:right}
@media(max-width:768px){.shekoufaei-region-context{display:block!important;visibility:visible!important}}


/* ========== v3.9.8 mobile + franchise + contact fix ========== */
#franchise-row.shek-visible,
#price-result #franchise-row.shek-visible {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-height: 48px;
}
#franchise-row:not(.shek-visible) {
  display: none !important;
}
#open-request-btn.shek-visible {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100%;
  min-height: 52px;
  margin-top: 14px;
  position: relative;
  z-index: 5;
}
#open-request-btn:not(.shek-visible) {
  display: none !important;
}

.shekoufaei-contact-box {
  margin-top: 16px;
  padding: 14px;
  border: 1px solid #bbf7d0;
  border-radius: 12px;
  background: #f0fdf4;
  width: 100%;
  box-sizing: border-box;
}
.shekoufaei-contact-title {
  text-align: center;
  font-weight: 700;
  color: #047857;
  margin-bottom: 10px;
  font-size: 1rem;
}
.shekoufaei-contact-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.shekoufaei-contact-actions .shekoufaei-contact-btn {
  margin-top: 0;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  text-decoration: none !important;
  border-radius: 10px;
  font-weight: 700;
  font-size: 0.95rem;
  padding: 10px 8px;
  box-sizing: border-box;
}
.shek-whatsapp-btn { background: #16a34a !important; color: #fff !important; }
.shek-call-btn { background: #047857 !important; color: #fff !important; }
.shek-call-btn-alt { background: #0f766e !important; color: #fff !important; }
.shek-phone-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  justify-content: center;
  margin-top: 12px;
  font-size: 0.88rem;
}
.shek-phone-links a {
  color: #065f46;
  text-decoration: none;
  border-bottom: 1px dashed #6ee7b7;
  padding: 2px 0;
}

/* Mobile fixed CTA bar */
#shek-mobile-request-bar {
  display: none;
}
#shek-mobile-request-bar .shekoufaei-btn {
  display: block !important;
  width: 100% !important;
  min-height: 54px !important;
  margin: 0 !important;
  font-size: 1.05rem !important;
}
#shek-mobile-request-bar.is-ready .shekoufaei-btn:not(:disabled) {
  opacity: 1 !important;
  cursor: pointer !important;
}

@media (max-width: 768px) {
  #shek-mobile-request-bar {
    display: block !important;
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    z-index: 2147483646 !important;
    padding: 10px !important;
    background: #fff !important;
    border: 1px solid #d1d5db !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 32px rgba(0,0,0,.2) !important;
    box-sizing: border-box !important;
  }
  #shek-mobile-request-bar .shekoufaei-btn:disabled {
    opacity: 0.55 !important;
    cursor: not-allowed !important;
  }
  body.shek-has-mobile-cta {
    padding-bottom: 96px !important;
  }
  #price-result .result-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 4px;
    padding: 10px 0;
  }
  #price-result .result-item .label,
  #price-result .result-item .value {
    width: 100% !important;
    text-align: right !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
  #price-result #result-franchise {
    font-weight: 800 !important;
    font-size: 1.1rem !important;
    color: #047857 !important;
  }
  .shekoufaei-contact-actions {
    grid-template-columns: 1fr !important;
  }
  .shekoufaei-contact-actions .shekoufaei-contact-btn {
    width: 100%;
  }
  #open-request-btn.shek-visible {
    display: block !important;
    min-height: 54px !important;
  }
  .shek-modal-content {
    margin: 10px !important;
    padding: 18px 12px !important;
    max-height: calc(100vh - 20px) !important;
    overflow-y: auto !important;
  }
}

/* v4.2.20 — visibility is controlled by JavaScript per service; do not hide globally. */
.shek-field-hint { display:block; margin-top:6px; color:#6b7280; font-size:.84rem; line-height:1.7; }
@media (max-width: 768px) {
  .shekoufaei-calculator { width:100% !important; max-width:100% !important; box-sizing:border-box !important; overflow:visible !important; }
  .shekoufaei-form { width:100% !important; box-sizing:border-box !important; }
  .shekoufaei-form .form-group { width:100% !important; box-sizing:border-box !important; }
  .shekoufaei-form input, .shekoufaei-form select, .shekoufaei-form button { max-width:100% !important; box-sizing:border-box !important; }
  .shek-request-grid { grid-template-columns:1fr !important; }
  .shek-request-grid > * { min-width:0 !important; }
  .shek-days-checks { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:8px !important; }
  .shek-days-checks label { min-height:42px; padding:7px 6px; border:1px solid #e5e7eb; border-radius:8px; background:#fff; box-sizing:border-box; }
  .shek-modal-content { width:calc(100vw - 20px) !important; max-width:none !important; margin:10px auto !important; max-height:calc(100dvh - 20px) !important; overflow-y:auto !important; overscroll-behavior:contain; }
}
@media (max-width:380px) {
  .shek-days-checks { grid-template-columns:1fr 1fr !important; }
  .shekoufaei-form { padding-left:12px !important; padding-right:12px !important; }
}

/* v4.2.30 — سالمند: نمایش وزن در موبایل و پوسته‌های دارای CSS متداخل */
#elderly-weight-group.shek-elderly-weight-visible {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  position: relative !important;
}
#elderly-weight-group.shek-elderly-weight-visible .shekoufaei-select {
  display: block !important;
  visibility: visible !important;
  width: 100% !important;
  min-height: 46px;
  box-sizing: border-box !important;
}

/* v4.3.4 — consolidated mobile interaction rules */
.shek-version{display:inline-block;margin-top:8px;padding:3px 9px;border:1px solid rgba(255,255,255,.35);border-radius:999px;opacity:.9}
body.shek-modal-open{overflow:hidden!important}
#shek-mobile-request-bar:not(.is-ready){display:none!important}
.shek-step-hidden{display:none!important}
.shek-wizard-native-calc{display:none!important}
.shek-wizard-nav{margin-top:18px;margin-bottom:0;padding:12px;background:#f8fafc;border:1px solid #dbe4ee;border-radius:12px}
.shek-wizard-progress{height:7px;background:#e2e8f0;border-radius:99px;overflow:hidden}.shek-wizard-progress span{display:block;height:100%;background:#059669;transition:width .25s}
.shek-wizard-status{margin:9px 0;font-weight:700;color:#334155}.shek-wizard-actions{display:flex;gap:8px}.shek-wizard-actions button{flex:1;margin:0;min-height:44px}
.shek-group-label{display:block;margin-bottom:8px;font-weight:700;color:#1f2937}.shek-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.shek-choice-grid label{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;margin:0!important;padding:10px;border:1px solid #d1d5db;border-radius:9px;background:#fff}.shek-choice-grid input{width:20px!important;height:20px!important;min-height:0!important}
@media (max-width:768px){
  .shekoufaei-calculator{margin:8px 0 100px!important;border-radius:12px!important}
  .shekoufaei-header{padding:18px 14px!important}
  .shekoufaei-form{padding:16px 12px!important}
  .shekoufaei-select,.shekoufaei-input,.shek-service-request input,.shek-service-request select,.shek-service-request textarea{min-height:50px!important;font-size:16px!important;padding:12px!important}
  .form-group{margin-bottom:16px!important}
  .form-group label{font-size:15px!important;line-height:1.7!important}
	.shek-choice-grid{grid-template-columns:1fr!important}.shek-choice-grid label{min-height:48px!important}
	#elderly-status-group[style*="display: block"],#elderly-living-group[style*="display: block"],#elderly-shift-group[style*="display: block"],#elderly-gender-group[style*="display: block"],#elderly-staff-gender-group[style*="display: block"],#child-count-group[style*="display: block"],#child-age-group[style*="display: block"],#child-duty-group[style*="display: block"],#days-per-week-group[style*="display: block"],#hours-group[style*="display: block"]{display:block!important;visibility:visible!important;opacity:1!important}
  .shekoufaei-btn{min-height:52px!important;touch-action:manipulation}
  #shek-mobile-request-bar.is-ready{display:block!important}
  .shek-modal{padding:0!important}
  .shek-modal-content{top:0!important;width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;border-radius:0!important;padding:54px 14px 24px!important;box-sizing:border-box!important}
  .shek-modal-close{position:fixed!important;top:12px!important;left:14px!important;width:44px!important;height:44px!important;background:#f3f4f6!important;border-radius:50%!important;z-index:2!important}
  .shek-days-checks label{min-height:48px!important}
}
#shekoufaei-price-calculator .shek-step-hidden{display:none!important;visibility:hidden!important}
