/* سایه - باشگاه و شنا | #000 #008E32 #A7A7A7 */
:root {
    --color-black: #000000;
    --color-green: #008E32;
    --color-green-dark: #006b26;
    --color-gray: #A7A7A7;
    --color-gray-light: #f5f5f5;
    --color-white: #ffffff;
    --font-main: 'Vazirmatn', Tahoma, sans-serif;
    --shadow-sm: 0 2px 8px rgba(0,0,0,.08);
    --shadow-md: 0 4px 16px rgba(0,0,0,.12);
    --radius: 12px;
    --transition: all .3s ease;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
    font-family: var(--font-main);
    color: var(--color-black);
    background: var(--color-white);
    line-height: 1.7;
    direction: rtl;
    text-align: right;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
main { flex: 1; }
a { text-decoration: none; color: inherit; transition: var(--transition); }
a:hover { color: var(--color-green); }
.text-primary-green { color: var(--color-green) !important; }
.bg-primary-green { background-color: var(--color-green) !important; }
.bg-light-custom { background-color: var(--color-gray-light); }
.btn-primary-green {
    background: var(--color-green); border-color: var(--color-green);
    color: #fff; font-weight: 600; border-radius: 8px;
}
.btn-primary-green:hover { background: var(--color-green-dark); border-color: var(--color-green-dark); color: #fff; }
.btn-outline-primary-green {
    border: 2px solid var(--color-green); color: var(--color-green); font-weight: 600; border-radius: 8px;
}
.btn-outline-primary-green:hover { background: var(--color-green); color: #fff; }

/* ===== Gateway ===== */
.gateway-body {
    background: linear-gradient(160deg, #000 0%, #0d1f12 40%, #001a0d 100%);
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 1rem;
}
.gateway-wrapper { width: 100%; max-width: 900px; }
.brand-logo {
    width: 72px; height: 72px; margin: 0 auto 1rem;
    background: rgba(0,142,50,.2); border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 2rem; color: var(--color-green);
}
.gateway-title { color: #fff; font-weight: 800; font-size: 2rem; }
.gateway-tagline { color: var(--color-gray); }
.gateway-card {
    display: block; background: rgba(255,255,255,.05);
    border: 1px solid rgba(0,142,50,.35); border-radius: 16px;
    padding: 2.5rem 1.75rem; text-align: center; color: #fff;
    transition: var(--transition); height: 100%;
}
.gateway-card:hover {
    background: rgba(0,142,50,.15); border-color: var(--color-green);
    transform: translateY(-6px); color: #fff;
    box-shadow: 0 12px 40px rgba(0,142,50,.25);
}
.gateway-card-icon {
    width: 80px; height: 80px; margin: 0 auto 1.25rem;
    background: rgba(0,142,50,.2); border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 2.2rem; color: var(--color-green);
}
.gateway-card h2 { font-size: 1.4rem; font-weight: 700; margin-bottom: .5rem; }
.gateway-card p { color: var(--color-gray); font-size: .95rem; margin-bottom: 1.25rem; }
.gateway-btn {
    display: inline-block; padding: .5rem 1.25rem;
    background: var(--color-green); border-radius: 8px;
    font-weight: 600; font-size: .9rem;
}
.gateway-footer .btn-outline-light:hover { background: #fff; color: #000; }

/* ===== Nav ===== */
.section-nav { background: var(--color-black) !important; padding: .6rem 0; box-shadow: var(--shadow-sm); }
.section-nav .navbar-brand { color: #fff !important; font-size: 1.1rem; }
.section-nav .nav-link { color: rgba(255,255,255,.85) !important; font-weight: 500; border-radius: 6px; padding: .4rem .9rem !important; }
.section-nav .nav-link:hover, .section-nav .nav-link.active { background: rgba(0,142,50,.25); color: #fff !important; }
.nav-icons .nav-icon {
    color: rgba(255,255,255,.85); font-size: 1.25rem;
    width: 36px; height: 36px; display: flex; align-items: center; justify-content: center;
    border-radius: 50%; transition: var(--transition);
}
.nav-icons .nav-icon:hover, .nav-icons .active-icon { background: rgba(0,142,50,.3); color: #fff; }

/* ===== Gym Slider ===== */
.gym-slider-section { background: #111; }
.slider-slide {
    background: linear-gradient(135deg, #000 0%, #0d2818 50%, #111 100%);
    color: #fff; padding: 3rem 0; min-height: 380px;
}
.min-vh-50 { min-height: 50vh; }
.slider-title { font-size: clamp(1.5rem, 3vw, 2.2rem); font-weight: 800; }
.slider-desc { color: var(--color-gray); max-width: 480px; }
.slider-meta span { font-size: .9rem; color: rgba(255,255,255,.8); }
.slider-visual {
    width: 180px; height: 180px; margin: 0 auto;
    background: rgba(0,142,50,.15); border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: var(--color-green); border: 2px solid rgba(0,142,50,.3);
}
.carousel-indicators [data-bs-target] { background-color: var(--color-green); }
.carousel-control-prev-icon, .carousel-control-next-icon { filter: invert(1); }

/* ===== Brand Trust ===== */
.brand-trust-box {
    background: #fff; border: 1px solid #eee; border-radius: var(--radius);
    padding: 2.5rem 1.5rem; box-shadow: var(--shadow-sm);
}
.brand-mark { display: flex; align-items: center; justify-content: center; gap: .5rem; }
.brand-mark i { font-size: 1.75rem; color: var(--color-green); }
.brand-name { font-size: 1.5rem; font-weight: 800; }
.trust-item { padding: 1rem; }
.trust-item i { font-size: 1.75rem; color: var(--color-green); display: block; margin-bottom: .5rem; }
.trust-item strong { display: block; font-size: .95rem; }
.trust-item small { color: var(--color-gray); }

/* ===== Cards ===== */
.gym-card-mini, .gym-card-full {
    display: block; background: #fff; border: 1px solid #eee;
    border-radius: var(--radius); padding: 1.25rem; transition: var(--transition); color: inherit;
}
.gym-card-mini:hover, .gym-card-full:hover { border-color: var(--color-green); box-shadow: var(--shadow-md); color: inherit; }
.gym-card-mini-icon {
    width: 48px; height: 48px; background: rgba(0,142,50,.1); border-radius: 10px;
    display: flex; align-items: center; justify-content: center; color: var(--color-green); font-size: 1.3rem; margin-bottom: .75rem;
}
.feature-card, .coach-card, .coach-card-full, .auth-card, .dash-card {
    background: #fff; border: 1px solid #eee; border-radius: var(--radius); transition: var(--transition);
}
.feature-card { padding: 1.75rem 1.25rem; }
.feature-card:hover { border-color: var(--color-green); box-shadow: var(--shadow-md); transform: translateY(-3px); }
.feature-icon {
    width: 56px; height: 56px; margin: 0 auto 1rem; background: rgba(0,142,50,.1);
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    font-size: 1.5rem; color: var(--color-green);
}
.coach-card, .coach-card-full { padding: 1.75rem 1.25rem; text-align: center; }
.coach-card:hover, .coach-card-full:hover { box-shadow: var(--shadow-md); }
.coach-avatar, .coach-avatar-lg {
    width: 72px; height: 72px; margin: 0 auto;
    background: linear-gradient(135deg, var(--color-green), var(--color-green-dark));
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 2.2rem;
}
.coach-avatar-lg { width: 90px; height: 90px; font-size: 2.8rem; }
.coach-rating { color: #f5a623; font-size: .9rem; }
.profile-avatar { font-size: 4rem; color: var(--color-green); }

/* ===== Auth ===== */
.auth-section { background: var(--color-gray-light); min-height: 60vh; }
.auth-card { padding: 2rem; box-shadow: var(--shadow-sm); }
.login-type-tabs {
    display: flex; background: #fff; border-radius: 10px; overflow: hidden;
    border: 1px solid #eee; box-shadow: var(--shadow-sm);
}
.login-tab {
    flex: 1; text-align: center; padding: .75rem; font-weight: 600; font-size: .9rem;
    color: #666; transition: var(--transition);
}
.login-tab.active { background: var(--color-green); color: #fff; }
.login-tab:hover:not(.active) { background: #f0f0f0; color: #000; }
.form-control, .form-select { border-radius: 8px; border-color: #ddd; font-family: var(--font-main); }
.form-control:focus, .form-select:focus { border-color: var(--color-green); box-shadow: 0 0 0 .2rem rgba(0,142,50,.2); }
.form-label { font-weight: 600; font-size: .9rem; }

/* ===== Page header ===== */
.page-header { background: linear-gradient(135deg, #000, #1a1a1a); color: #fff; }
.page-title { font-size: 1.5rem; font-weight: 700; }
.page-header .breadcrumb { background: transparent; padding: 0; margin: 0; }
.page-header .breadcrumb-item a { color: var(--color-gray); }
.page-header .breadcrumb-item.active { color: var(--color-green); }
.page-header .breadcrumb-item + .breadcrumb-item::before { color: var(--color-gray); }

/* ===== Dashboard ===== */
.dash-stat-card {
    background: #fff; border: 1px solid #eee; border-radius: var(--radius);
    padding: 1.1rem; display: flex; align-items: center; gap: .85rem;
}
.dash-stat-icon {
    width: 44px; height: 44px; border-radius: 10px;
    display: flex; align-items: center; justify-content: center; font-size: 1.2rem; flex-shrink: 0;
}
.bg-green-soft { background: rgba(0,142,50,.12); color: var(--color-green); }
.bg-dark-soft { background: rgba(0,0,0,.08); color: #000; }
.bg-gray-soft { background: rgba(167,167,167,.2); color: #666; }
.dash-stat-num { display: block; font-size: 1.3rem; font-weight: 800; line-height: 1.2; }
.dash-stat-label { font-size: .78rem; color: var(--color-gray); }
.dash-card { overflow: hidden; }
.dash-card-header { padding: .9rem 1.15rem; border-bottom: 1px solid #eee; background: var(--color-gray-light); }
.dash-card-header h5, .dash-card-header h6 { margin: 0; font-weight: 700; }
.dash-card-body { padding: 1.15rem; }
.notification-item { padding: .65rem 0; border-bottom: 1px solid #f0f0f0; }
.notification-item:last-child { border-bottom: none; }
.plan-item { padding: .75rem 0; border-bottom: 1px solid #f0f0f0; }
.plan-item:last-child { border-bottom: none; }
.qr-placeholder { color: var(--color-gray); }

/* ===== Swim ===== */
.swim-hero {
    background: linear-gradient(135deg, #000 0%, #0a1f2e 50%, #001a0d 100%);
}
.swim-hero-icon {
    width: 160px; height: 160px; margin: 0 auto;
    background: rgba(0,142,50,.15); border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 4rem; color: var(--color-green);
    border: 2px solid rgba(0,142,50,.3);
}
.hero-title { font-size: clamp(1.6rem, 3.5vw, 2.4rem); font-weight: 800; }

/* ===== Search ===== */
.search-result-item {
    display: flex; justify-content: space-between; align-items: center;
    padding: .85rem 0; border-bottom: 1px solid #eee; color: inherit;
}
.search-result-item:hover { color: var(--color-green); }

/* ===== CTA ===== */
.cta-section { background: linear-gradient(135deg, var(--color-green), var(--color-green-dark)); }

/* ===== Footer ===== */
.site-footer { background: var(--color-black); color: rgba(255,255,255,.8); }
.footer-link-sm { color: rgba(255,255,255,.7); font-size: .85rem; }
.footer-link-sm:hover { color: var(--color-green); }
.footer-divider { border-color: rgba(255,255,255,.12); }

@media (max-width: 768px) {
    .slider-slide { min-height: auto; padding: 2rem 0; }
    .gateway-title { font-size: 1.5rem; }
}

/* Nav: profile & search always visible outside hamburger */
.nav-icons-always .nav-icon {
    color: rgba(255,255,255,.85); font-size: 1.25rem;
    width: 36px; height: 36px; display: flex; align-items: center; justify-content: center;
    border-radius: 50%; transition: var(--transition);
}
.nav-icons-always .nav-icon:hover,
.nav-icons-always .active-icon { background: rgba(0,142,50,.3); color: #fff; }
.brand-trust-wide { padding: 3rem 2rem !important; }
.brand-extra-text { max-width: 720px; line-height: 1.9; margin-left: auto; margin-right: auto; }
.coach-intro-card {
    background: #fff; border: 1px solid #eee; border-radius: var(--radius);
    padding: 1.25rem; transition: var(--transition);
}
.coach-intro-card:hover { border-color: var(--color-green); box-shadow: var(--shadow-md); }
.about-block h3 { font-size: 1.2rem; font-weight: 700; }
.about-features { padding-right: 1.25rem; color: #555; }
.about-features li { margin-bottom: 0.5rem; }
.role-box {
    background: var(--color-gray-light); border-radius: 10px; padding: 1rem;
    border: 1px solid #eee; height: 100%;
}
.qr-scan-area { padding: 1.5rem; background: #f8f8f8; border-radius: 12px; }

/* سه کارت خدمات */
.service-action-card {
    display: block;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 14px;
    padding: 1.75rem 1.25rem;
    text-align: center;
    height: 100%;
    color: inherit;
    transition: all .35s ease;
}
.service-action-card:hover {
    border-color: #008E32;
    box-shadow: 0 8px 28px rgba(0,142,50,.15);
    transform: translateY(-4px);
    color: inherit;
}
.service-action-icon {
    width: 56px; height: 56px; margin: 0 auto 1rem;
    background: rgba(0,142,50,.12); border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.5rem; color: #008E32;
}
.service-action-card h5 { font-weight: 700; margin-bottom: .5rem; }

/* اسکرول انیمیشن یکسان در همه صفحات */
.reveal-on-scroll {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity .7s ease, transform .7s cubic-bezier(.22,1,.36,1);
}
.reveal-on-scroll.is-revealed {
    opacity: 1;
    transform: translateY(0);
}

/* درباره ما - شیشه‌ای ملایم */
.about-glass {
    background: rgba(255,255,255,.55);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255,255,255,.4);
    border-radius: 16px;
    padding: 2rem 1.5rem;
    box-shadow: 0 8px 32px rgba(0,0,0,.06);
}
.about-page-wrap {
    background:
        radial-gradient(ellipse at 20% 20%, rgba(0,142,50,.08) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 80%, rgba(0,0,0,.04) 0%, transparent 45%),
        #f7f7f7;
    min-height: 60vh;
}

@media (max-width: 768px) {
    .nav-icons-always .nav-icon { width: 34px; height: 34px; font-size: 1.15rem; }
    .slider-slide { padding: 2rem 0; min-height: auto; }
    .brand-trust-wide { padding: 1.75rem 1rem !important; }
}

/* Q&A اعتمادساز - RTL: سوال راست، جواب چپ */
.qa-trust-section { background: #fff; }
.qa-list { max-width: 960px; margin: 0 auto; }
.qa-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
    align-items: stretch;
    margin-bottom: 1.25rem;
    padding: 1.25rem;
    border-radius: 16px;
    border: 1px solid #eee;
    background: linear-gradient(90deg, rgba(0,142,50,.04) 0%, #fff 50%, rgba(0,0,0,.02) 100%);
    transition: box-shadow .3s ease, border-color .3s ease;
}
.qa-row:hover { border-color: rgba(0,142,50,.35); box-shadow: 0 6px 24px rgba(0,0,0,.06); }
.qa-question {
    text-align: right;
    border-left: 3px solid #008E32;
    padding-left: 1rem;
    display: flex;
    align-items: flex-start;
    gap: .75rem;
}
.qa-num {
    flex-shrink: 0;
    width: 32px; height: 32px;
    background: #008E32; color: #fff;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: .9rem;
}
.qa-question h5 { margin: 0; font-size: 1.05rem; font-weight: 700; line-height: 1.5; }
.qa-answer {
    text-align: right;
    color: #555;
    font-size: .95rem;
    line-height: 1.8;
}
.qa-answer p { margin-bottom: .75rem; }
@media (max-width: 767px) {
    .qa-row { grid-template-columns: 1fr; gap: .75rem; }
    .qa-question { border-left: none; border-bottom: 2px solid #008E32; padding-left: 0; padding-bottom: .75rem; }
}

/* انتخاب مربی در فرم */
.coach-pick-list { display: flex; flex-direction: column; gap: .75rem; }
.coach-pick-item {
    display: block; cursor: pointer; margin: 0;
    border: 2px solid #eee; border-radius: 12px; padding: 0;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.coach-pick-item:has(input:checked),
.coach-pick-item:hover { border-color: #008E32; box-shadow: 0 4px 16px rgba(0,142,50,.12); }
.coach-pick-item input { position: absolute; opacity: 0; pointer-events: none; }
.coach-pick-body {
    display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem;
    padding: 1rem 1.15rem;
}
.coach-pick-price { margin-right: auto; font-weight: 700; color: #008E32; }

.coach-tabs .nav-link {
    color: #333; border-radius: 999px; font-size: .9rem;
}
.coach-tabs .nav-link.active { background: #008E32; color: #fff; }
.coach-tabs .badge { font-size: .7rem; }
.coach-pick-item.is-selected { border-color: #008E32; box-shadow: 0 4px 16px rgba(0,142,50,.12); }

/* انتخاب مربی با سرچ — قیمت سمت چپ */
.coach-select-row {
    display: flex;
    flex-direction: row-reverse;
    align-items: stretch;
    gap: 0.75rem;
}
.coach-select-price {
    min-width: 140px;
    background: rgba(0,142,50,.1);
    border: 2px solid #008E32;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    color: #008E32;
    padding: 0.5rem 0.75rem;
    font-size: 0.95rem;
    text-align: center;
}
.coach-select-input-wrap { flex: 1; position: relative; }
.coach-dropdown {
    position: absolute;
    top: 100%;
    right: 0; left: 0;
    z-index: 50;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 10px;
    max-height: 220px;
    overflow-y: auto;
    box-shadow: 0 8px 24px rgba(0,0,0,.12);
    margin-top: 4px;
}
.coach-drop-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 0.75rem 1rem;
    border: 0;
    border-bottom: 1px solid #f0f0f0;
    background: #fff;
    text-align: right;
    cursor: pointer;
    font-family: inherit;
}
.coach-drop-item:hover { background: rgba(0,142,50,.08); }
.coach-drop-item:last-child { border-bottom: 0; }
@media (max-width: 576px) {
    .coach-select-row { flex-direction: column-reverse; }
    .coach-select-price { min-width: 100%; }
}

.coach-panel-avatar {
    width: 64px; height: 64px;
    border-radius: 50%;
    background: linear-gradient(135deg, #008E32, #006b26);
    color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 2.2rem;
    border: 3px solid rgba(255,255,255,.3);
}
.plan-half-card { min-height: 320px; }

/* اسلایدر فشرده */
.slider-compact .slider-slide-sm {
    min-height: auto !important;
    padding: 0.5rem 0 !important;
    background: linear-gradient(135deg, #0a0a0a 0%, #0d2818 100%);
}
.slider-title-sm { font-size: 1.25rem; font-weight: 700; color: #fff; }
.slider-compact .carousel-indicators { margin-bottom: 0.25rem; }
.service-compact { padding: 1rem 1.15rem !important; text-align: right !important; }
.service-compact .service-action-icon { width: 44px; height: 44px; font-size: 1.2rem; flex-shrink: 0; }
.qa-compact .qa-row { margin-bottom: 0.75rem; padding: 0.85rem; }
.qa-compact .qa-question h5 { font-size: 0.95rem; }
.qa-compact .qa-answer { font-size: 0.85rem; }

/* بیماری‌ها */
.disease-grid { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.disease-grid label {
    display: inline-flex; align-items: center; gap: 0.35rem;
    padding: 0.4rem 0.75rem; border: 1px solid #ddd; border-radius: 8px;
    cursor: pointer; font-size: 0.9rem; background: #fff;
}
.disease-grid input:checked + span,
.disease-grid label:has(input:checked) { border-color: #008E32; background: rgba(0,142,50,.08); }

/* کارت بانکی پرداخت */
.card-pay-box {
    background: #f8f8f8; border: 2px dashed #008E32; border-radius: 12px;
    padding: 1.25rem; text-align: center; margin-bottom: 1rem;
}
.card-pay-number { font-size: 1.35rem; font-weight: 800; letter-spacing: 2px; color: #000; direction: ltr; }

.panel-athlete .page-header { border-bottom: 3px solid #008E32; }
.panel-coach .page-header { border-bottom: 3px solid #ffc107; }
.panel-manager .page-header { border-bottom: 3px solid #A7A7A7; }
.dash-card { background:#fff; border-radius:12px; box-shadow:0 2px 12px rgba(0,0,0,.06); overflow:hidden; }
.dash-card-header { padding:1rem 1.25rem; border-bottom:1px solid #eee; }
.dash-card-body { padding:1.25rem; }
.notification-item { font-size:.9rem; }

/* ========== پس‌زمینه مینیمال پنج‌ضلعی (هوم باشگاه) ========== */
.section-gym-home {
    position: relative;
    background: #fafafa;
    overflow: hidden;
}
.section-gym-home::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        radial-gradient(ellipse at 20% 30%, rgba(0,142,50,.06) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 70%, rgba(0,142,50,.04) 0%, transparent 45%),
        #fafafa;
}
.pentagon-bg {
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    overflow: hidden;
}
.pentagon-bg .penta {
    position: absolute;
    width: 80px; height: 80px;
    background: rgba(0,142,50,.07);
    clip-path: polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);
    filter: drop-shadow(0 4px 12px rgba(0,142,50,.12));
    animation: pentaFloat 18s ease-in-out infinite;
}
.pentagon-bg .penta:nth-child(1) { top: 8%; right: 6%; width: 110px; height: 110px; animation-delay: 0s; opacity: .9; }
.pentagon-bg .penta:nth-child(2) { top: 22%; left: 4%; width: 70px; height: 70px; animation-delay: -3s; background: rgba(0,142,50,.05); }
.pentagon-bg .penta:nth-child(3) { top: 55%; right: 12%; width: 90px; height: 90px; animation-delay: -6s; background: rgba(0,142,50,.06); }
.pentagon-bg .penta:nth-child(4) { bottom: 18%; left: 10%; width: 60px; height: 60px; animation-delay: -9s; }
.pentagon-bg .penta:nth-child(5) { top: 40%; left: 45%; width: 50px; height: 50px; animation-delay: -12s; background: rgba(0,142,50,.04); }
.pentagon-bg .penta:nth-child(6) { bottom: 8%; right: 25%; width: 75px; height: 75px; animation-delay: -4s; background: rgba(0,142,50,.05); }
@keyframes pentaFloat {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    33% { transform: translateY(-12px) rotate(8deg); }
    66% { transform: translateY(8px) rotate(-5deg); }
}
.section-gym main, .section-gym .page-header, .section-gym section { position: relative; z-index: 1; }

/* اسلایدر فشرده روی پس‌زمینه روشن */
.section-gym .gym-slider-section { background: transparent; }
.section-gym .slider-slide-sm {
    background: linear-gradient(135deg, rgba(0,0,0,.88) 0%, rgba(0,40,20,.9) 100%);
    border-radius: 16px; margin: 1rem; min-height: auto !important;
    box-shadow: 0 8px 28px rgba(0,142,50,.15);
}
.slider-title-sm { font-size: 1.25rem; font-weight: 700; color: #fff; }

/* ========== ویجت شناور هوش مصنوعی ========== */
.ai-widget-btn {
    position: fixed; bottom: 24px; left: 20px; z-index: 1050;
    width: 52px; height: 52px; border-radius: 50%;
    background: linear-gradient(135deg, #008E32, #006b26);
    color: #fff; border: none; box-shadow: 0 6px 24px rgba(0,142,50,.4);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.4rem; cursor: pointer;
    transition: transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s;
}
.ai-widget-btn:hover { transform: scale(1.1); box-shadow: 0 10px 32px rgba(0,142,50,.55); color: #fff; }
.ai-widget-btn.is-open { background: #333; }
.ai-widget-panel {
    position: fixed; bottom: 88px; left: 20px; z-index: 1050;
    width: min(340px, calc(100vw - 40px));
    max-height: 420px; overflow: hidden;
    background: #fff; border-radius: 16px;
    box-shadow: 0 16px 48px rgba(0,0,0,.18);
    border: 1px solid rgba(0,142,50,.2);
    display: none; flex-direction: column;
    animation: aiSlideUp .35s cubic-bezier(.22,1,.36,1);
}
.ai-widget-panel.show { display: flex; }
@keyframes aiSlideUp {
    from { opacity: 0; transform: translateY(16px) scale(.96); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
.ai-widget-header {
    background: linear-gradient(135deg, #000, #0d2818);
    color: #fff; padding: .85rem 1rem;
    display: flex; align-items: center; justify-content: space-between;
}
.ai-widget-header h6 { margin: 0; font-size: .95rem; }
.ai-widget-body { padding: .75rem; overflow-y: auto; flex: 1; }
.ai-faq-item {
    display: block; width: 100%; text-align: right;
    border: 1px solid #eee; border-radius: 10px;
    padding: .65rem .85rem; margin-bottom: .5rem;
    background: #fafafa; cursor: pointer; font-size: .85rem;
    transition: all .25s ease; color: #222;
}
.ai-faq-item:hover {
    border-color: #008E32; background: rgba(0,142,50,.06);
    transform: translateX(-4px);
}
.ai-faq-answer {
    display: none; padding: .5rem .75rem; margin: -.25rem 0 .5rem;
    font-size: .8rem; color: #555; background: #f0f7f2;
    border-radius: 0 0 10px 10px; border: 1px solid rgba(0,142,50,.15);
    border-top: 0;
}
.ai-faq-answer.open { display: block; animation: fadeIn .25s ease; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
.ai-widget-footer {
    padding: .5rem .75rem; border-top: 1px solid #eee;
    font-size: .75rem; color: #A7A7A7; text-align: center;
}

/* ========== پنل مربی — سایدبار چپ + محتوا ========== */
.coach-layout { display: flex; gap: 0; min-height: 480px; }
.coach-sidebar {
    width: 220px; flex-shrink: 0;
    background: #0a0a0a; border-radius: 16px 0 0 16px;
    padding: 1rem .5rem; display: flex; flex-direction: column; gap: .35rem;
}
.coach-side-item {
    display: flex; align-items: center; gap: .6rem;
    padding: .7rem .9rem; border-radius: 10px;
    color: rgba(255,255,255,.75); font-size: .9rem; font-weight: 500;
    border: none; background: transparent; width: 100%; text-align: right;
    cursor: pointer; transition: all .25s ease;
}
.coach-side-item:hover { background: rgba(0,142,50,.2); color: #fff; }
.coach-side-item.active {
    background: #008E32; color: #fff;
    box-shadow: 0 4px 14px rgba(0,142,50,.35);
}
.coach-side-item .badge { font-size: .7rem; }
.coach-main {
    flex: 1; background: #fff; border-radius: 0 16px 16px 0;
    padding: 1.5rem; border: 1px solid #eee; border-right: 0;
    min-height: 420px;
}
.coach-pane { display: none; animation: fadeSlide .3s ease; }
.coach-pane.active { display: block; }
@keyframes fadeSlide {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 767.98px) {
    .coach-layout { flex-direction: column; }
    .coach-sidebar {
        width: 100%; border-radius: 16px 16px 0 0;
        flex-direction: row; flex-wrap: wrap; justify-content: center;
    }
    .coach-side-item { width: auto; flex: 1 1 auto; justify-content: center; font-size: .8rem; padding: .55rem .6rem; }
    .coach-main { border-radius: 0 0 16px 16px; border-right: 1px solid #eee; }
}

/* درخواست بدون مشخصات زیر اسم */
.request-item-clean strong { display: block; }
.request-item-clean .req-actions { margin-top: .5rem; }

/* ========== جزئیات باشگاه با گالری بک‌گراند ========== */
.gym-detail-hero {
    position: relative; min-height: 220px; border-radius: 16px;
    overflow: hidden; margin-bottom: 1.5rem;
    background: linear-gradient(135deg, #0d2818, #000);
}
.gym-detail-hero-bg {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    opacity: .45; transition: transform 8s ease;
}
.gym-detail-hero:hover .gym-detail-hero-bg { transform: scale(1.08); }
.gym-detail-hero-content {
    position: relative; z-index: 2; padding: 2rem 1.5rem;
    color: #fff;
}
.gym-gallery-thumbs { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: 1rem; }
.gym-gallery-thumbs img {
    width: 72px; height: 54px; object-fit: cover; border-radius: 8px;
    border: 2px solid transparent; cursor: pointer; transition: all .25s;
}
.gym-gallery-thumbs img:hover, .gym-gallery-thumbs img.active {
    border-color: #008E32; transform: scale(1.05);
}

/* ========== هاور و انیمیشن عمومی ========== */
.reveal-on-scroll { opacity: 0; transform: translateY(20px); transition: opacity .6s ease, transform .6s ease; }
.reveal-on-scroll.is-revealed { opacity: 1; transform: translateY(0); }
.service-action-card {
    transition: transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s, border-color .3s;
}
.service-action-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(0,142,50,.15);
    border-color: #008E32 !important;
}
.dash-card { transition: box-shadow .3s ease, transform .3s ease; }
.dash-card:hover { box-shadow: 0 8px 28px rgba(0,0,0,.1); }
.btn-primary-green { transition: transform .2s ease, box-shadow .2s ease; }
.btn-primary-green:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(0,142,50,.3); }

/* پروفایل شخصی‌سازی */
.avatar-upload-wrap {
    width: 88px; height: 88px; border-radius: 50%;
    background: linear-gradient(135deg, #008E32, #004d1a);
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 2.5rem; position: relative; overflow: hidden;
    border: 3px solid #fff; box-shadow: 0 4px 16px rgba(0,0,0,.2);
}
.avatar-upload-wrap img { width: 100%; height: 100%; object-fit: cover; }
.avatar-upload-wrap .avatar-edit-btn {
    position: absolute; bottom: 0; left: 0; right: 0;
    background: rgba(0,0,0,.55); color: #fff; font-size: .7rem;
    text-align: center; padding: 2px; cursor: pointer; border: none;
}
.coach-chip {
    display: inline-flex; align-items: center; gap: .5rem;
    padding: .5rem .85rem; border-radius: 999px;
    background: rgba(0,142,50,.08); border: 1px solid rgba(0,142,50,.25);
    font-size: .85rem; margin: .25rem; transition: all .25s;
}
.coach-chip:hover { background: rgba(0,142,50,.15); border-color: #008E32; }

/* ========== فیکس مودال و اسکرول پنل ========== */
.modal { z-index: 2000 !important; }
.modal-backdrop { z-index: 1990 !important; }
.modal-backdrop.show { opacity: 0.55; }
body.modal-open { overflow: hidden !important; padding-right: 0 !important; }
body.modal-open .ai-widget-btn,
body.modal-open .ai-widget-panel { visibility: hidden !important; pointer-events: none !important; }
body.modal-open .coach-sidebar { z-index: 0 !important; }
body.modal-open .navbar,
body.modal-open .section-nav { z-index: 1 !important; }

/* پس‌زمینه ثابت فقط روی هوم — روی پنل‌ها اسکرول را خراب نکند */
.section-gym:not(.section-gym-home) .pentagon-bg { display: none !important; }
.section-gym-home { overflow-x: hidden; }
.section-gym-home main { position: relative; z-index: 1; }

/* پنل مربی — اسکرول روان */
.panel-coach { position: relative; z-index: 1; }
.coach-layout {
    display: flex;
    gap: 0;
    min-height: 420px;
    max-height: none;
    align-items: stretch;
    overflow: visible;
}
.coach-sidebar {
    width: 220px;
    flex-shrink: 0;
    background: #0a0a0a;
    border-radius: 16px 0 0 16px;
    padding: 1rem .5rem;
    display: flex;
    flex-direction: column;
    gap: .35rem;
    position: relative;
    z-index: 1;
    align-self: stretch;
    max-height: none;
    overflow-y: visible;
}
.coach-main {
    flex: 1;
    background: #fff;
    border-radius: 0 16px 16px 0;
    padding: 1.5rem;
    border: 1px solid #eee;
    border-right: 0;
    min-height: 420px;
    overflow: visible;
    max-height: none;
}
.coach-pane {
    display: none;
}
.coach-pane.active {
    display: block;
    animation: fadeSlide .25s ease;
}
@media (max-width: 767.98px) {
    .coach-layout { flex-direction: column; max-height: none; }
    .coach-sidebar {
        width: 100%;
        border-radius: 16px 16px 0 0;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        position: static;
        max-height: none;
        overflow-y: visible;
    }
    .coach-side-item { width: auto; flex: 1 1 auto; justify-content: center; font-size: .8rem; padding: .55rem .6rem; }
    .coach-main { border-radius: 0 0 16px 16px; border-right: 1px solid #eee; max-height: none; }
}

/* صفحه اسکرول آزاد */
html, body { overflow-x: hidden; }
body.section-gym { overflow-y: auto; height: auto; min-height: 100vh; }
main { overflow: visible; }

/* AI widget زیر مودال */
.ai-widget-btn { z-index: 1040; }
.ai-widget-panel { z-index: 1040; }

/* گالری پنل مدیر باشگاه */
.mgr-gallery-grid {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}
.mgr-gallery-item {
    position: relative;
    width: 120px;
    height: 90px;
}
.mgr-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
    border: 2px solid #eee;
    transition: border-color .25s, transform .25s;
}
.mgr-gallery-item img:hover,
.mgr-gallery-item img.active {
    border-color: #008E32;
    transform: scale(1.03);
}
.mgr-gallery-remove {
    position: absolute;
    top: -6px;
    left: -6px;
    width: 24px;
    height: 24px;
    padding: 0;
    line-height: 1;
    border-radius: 50%;
    font-size: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity .2s;
}
.mgr-gallery-item:hover .mgr-gallery-remove { opacity: 1; }

/* ========== اسکرول‌بار شیشه‌ای و ظریف ========== */
html {
    scrollbar-width: thin; /* Firefox */
    scrollbar-color: rgba(0, 142, 50, 0.45) transparent;
}
body {
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 142, 50, 0.45) transparent;
}

/* Chrome, Edge, Safari */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
::-webkit-scrollbar-track {
    background: transparent;
    margin: 4px 0;
}
::-webkit-scrollbar-thumb {
    background: linear-gradient(
        180deg,
        rgba(0, 142, 50, 0.35) 0%,
        rgba(0, 142, 50, 0.55) 50%,
        rgba(0, 142, 50, 0.35) 100%
    );
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    background-clip: padding-box;
    box-shadow:
        0 0 0 1px rgba(0, 142, 50, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.35);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    min-height: 40px;
}
::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(
        180deg,
        rgba(0, 142, 50, 0.55) 0%,
        rgba(0, 142, 50, 0.75) 50%,
        rgba(0, 142, 50, 0.55) 100%
    );
    border-color: rgba(255, 255, 255, 0.4);
    box-shadow:
        0 0 8px rgba(0, 142, 50, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.45);
}
::-webkit-scrollbar-thumb:active {
    background: rgba(0, 142, 50, 0.85);
}
::-webkit-scrollbar-corner {
    background: transparent;
}

/* اسکرول داخل پنل‌ها و باکس‌ها */
.coach-sidebar::-webkit-scrollbar,
.coach-main::-webkit-scrollbar,
.ai-widget-body::-webkit-scrollbar,
.modal-body::-webkit-scrollbar,
.table-responsive::-webkit-scrollbar {
    width: 4px;
    height: 4px;
}
.coach-sidebar::-webkit-scrollbar-thumb,
.coach-main::-webkit-scrollbar-thumb,
.ai-widget-body::-webkit-scrollbar-thumb,
.modal-body::-webkit-scrollbar-thumb,
.table-responsive::-webkit-scrollbar-thumb {
    background: rgba(0, 142, 50, 0.4);
    border-radius: 999px;
    border: none;
}

/* انتخاب مربی — کارت‌های قابل کلیک */
.coach-pick-tile {
    border: 2px solid #e8e8e8; border-radius: 12px; padding: 1rem;
    cursor: pointer; transition: all .25s ease; background: #fff;
}
.coach-card-pick.is-selected .coach-pick-tile,
.coach-pick-tile:hover {
    border-color: #008E32; box-shadow: 0 4px 16px rgba(0,142,50,.15);
    background: rgba(0,142,50,.04);
}
.coach-card-pick.is-hidden { display: none !important; }

/* چت */
.chat-bubble {
    max-width: 85%; padding: .6rem .85rem; border-radius: 12px; margin-bottom: .5rem; font-size: .9rem;
}
.chat-bubble.me-msg { background: rgba(0,142,50,.15); margin-right: auto; }
.chat-bubble.coach-msg { background: #f0f0f0; margin-left: auto; }

/* اسلایدر با عکس گالری */
.slider-with-bg {
    background-size: cover !important; background-position: center !important;
    min-height: 160px !important;
}
@media (min-width: 768px) {
    .slider-with-bg { min-height: 200px !important; }
}

/* پنل مدیر — تیره و متمایز */
.panel-manager-dark {
    background: linear-gradient(180deg, #0a0a0a 0%, #0d1a12 50%, #111 100%) !important;
    min-height: 70vh; color: #e8e8e8;
}
.panel-manager-dark .dash-card {
    background: rgba(20,28,22,.95) !important;
    border: 1px solid rgba(0,142,50,.25);
    color: #eee;
}
.panel-manager-dark .dash-card-body,
.panel-manager-dark .form-label { color: #ccc; }
.panel-manager-dark .form-control {
    background: #1a1a1a; border-color: #333; color: #fff;
}
.panel-manager-dark .form-control:focus {
    background: #222; border-color: #008E32; color: #fff; box-shadow: 0 0 0 .2rem rgba(0,142,50,.25);
}
.panel-manager-dark .alert { color: #c8e6c9; }

/* مودال مشاوره — جلوگیری از صفحه خاکستری */
.modal { z-index: 1055; }
.modal-backdrop { z-index: 1050; }
body.modal-open { overflow: hidden; }

/* ریسپانسیو */
@media (max-width: 576px) {
    .page-title { font-size: 1.25rem; }
    .coach-tabs .nav-link { font-size: .8rem; padding: .35rem .65rem; }
    .service-compact { padding: .85rem !important; }
    .qa-compact .qa-row { padding: .65rem; }
}

/* ========== FIX مودال / فوتر / کنتراست پنل (روی MCP-14) ========== */

/* مودال همیشه تمام‌صفحه و روی همه چیز — دیگر زیر فوتر نمی‌آید */
.modal {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 20000 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}
.modal.fade .modal-dialog {
  transition: transform .2s ease-out;
}
.modal.show {
  display: block !important;
}
.modal-dialog {
  position: relative;
  margin: 1.75rem auto;
  pointer-events: none;
  max-width: 500px;
}
.modal-dialog.modal-lg { max-width: 720px; }
.modal-dialog.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - 3.5rem);
}
.modal-dialog .modal-content {
  pointer-events: auto;
}
.modal-backdrop {
  position: fixed !important;
  inset: 0 !important;
  z-index: 19990 !important;
  background-color: rgba(0, 0, 0, 0.55) !important;
}
.modal-backdrop.show { opacity: 1; }
body.modal-open {
  overflow: hidden !important;
  padding-right: 0 !important;
}
body.modal-open .ai-widget-btn,
body.modal-open .ai-widget-panel {
  visibility: hidden !important;
  pointer-events: none !important;
}

/* فوتر پایین‌تر از مودال */
.site-footer {
  position: relative;
  z-index: 10;
  background: #000;
  color: rgba(255,255,255,.85);
}

/* پنل مدیر — متن خوانا */
.panel-manager-dark {
  color: #eee !important;
}
.panel-manager-dark .dash-card {
  background: rgba(22, 28, 24, 0.96) !important;
  border: 1px solid rgba(0,142,50,.3) !important;
  color: #eee !important;
}
.panel-manager-dark .dash-card-header {
  background: #111 !important;
  border-bottom: 1px solid rgba(0,142,50,.3) !important;
  color: #fff !important;
}
.panel-manager-dark .dash-card-header h5,
.panel-manager-dark .dash-card-header h6,
.panel-manager-dark .dash-card-header .mb-0 {
  color: #fff !important;
}
.panel-manager-dark .dash-card-body {
  color: #ddd !important;
}
.panel-manager-dark .form-label {
  color: #c8c8c8 !important;
}
.panel-manager-dark .form-control,
.panel-manager-dark .form-select {
  background: #1a1f1c !important;
  border-color: #444 !important;
  color: #fff !important;
}
.panel-manager-dark .text-muted {
  color: #A7A7A7 !important;
}
.panel-manager-dark .btn-outline-secondary {
  border-color: #A7A7A7;
  color: #ddd;
}

/* پنل مربی — کارت‌های سفید با متن تیره خوانا روی صفحه روشن */
.panel-coach .dash-card {
  background: #fff !important;
  color: #222 !important;
  border: 1px solid #e5e5e5;
}
.panel-coach .dash-card-header {
  background: #f7f7f7 !important;
  border-bottom: 1px solid #eee;
  color: #111 !important;
}
.panel-coach .dash-card-header h5,
.panel-coach .dash-card-header h6 {
  color: #111 !important;
}
.panel-coach .dash-card-body {
  color: #333 !important;
}
.panel-coach .text-muted {
  color: #777 !important;
}

/* پروفایل ورزشکار — کارت سفید متن تیره */
.panel-athlete .dash-card {
  background: #fff !important;
  color: #222 !important;
  border: 1px solid #e8e8e8;
}
.panel-athlete .dash-card-header {
  background: #f8f8f8 !important;
  color: #111 !important;
  border-bottom: 1px solid #eee;
}
.panel-athlete .dash-card-header h5,
.panel-athlete .dash-card-header h6 {
  color: #111 !important;
}
.panel-athlete .dash-card-body,
.panel-athlete .table {
  color: #333 !important;
}
.panel-athlete .table thead th {
  color: #555 !important;
  background: #fafafa;
}

/* ویجت روی فوتر نرود */
.ai-widget-btn {
  position: fixed !important;
  bottom: 24px !important;
  left: 20px !important;
  z-index: 1040 !important;
}
.ai-widget-panel {
  position: fixed !important;
  bottom: 90px !important;
  left: 16px !important;
  z-index: 1040 !important;
}

/* ——— دکمه‌ها و فرم‌های یکدست ——— */
.btn-primary-green,
.btn-primary {
  background: #008E32 !important;
  border-color: #008E32 !important;
  color: #fff !important;
}
.btn-primary-green:hover,
.btn-primary-green:focus,
.btn-primary:hover {
  background: #00a83a !important;
  border-color: #00a83a !important;
  color: #fff !important;
}
.btn-outline-primary-green {
  border: 1.5px solid #008E32 !important;
  color: #008E32 !important;
  background: transparent !important;
}
.btn-outline-primary-green:hover,
.btn-outline-primary-green:focus,
.btn-check:checked + .btn-outline-primary-green {
  background: #008E32 !important;
  color: #fff !important;
  border-color: #008E32 !important;
}
.btn-outline-secondary {
  border-color: #A7A7A7;
  color: #555;
}
.btn-outline-secondary:hover {
  background: #A7A7A7;
  color: #000;
  border-color: #A7A7A7;
}
.btn-outline-light:hover {
  background: rgba(255,255,255,.15);
  color: #fff;
}

/* گروه بله / خیر */
.yes-no-group .btn {
  flex: 1;
  font-weight: 600;
  padding: 0.65rem 1rem;
}
.yes-no-group .btn-check:checked + .btn {
  background: #008E32 !important;
  color: #fff !important;
  border-color: #008E32 !important;
}

/* اعلان‌ها */
.notif-item.unread {
  background: rgba(0,142,50,.06);
  border-right: 3px solid #008E32;
  padding-right: 0.75rem !important;
}
.notif-item.read {
  opacity: 0.7;
}
.notif-count:empty,
.notif-count[data-zero="1"] {
  display: none !important;
}

/* خوانایی فرم روی auth-card */
.auth-card .form-label {
  color: #333;
  font-weight: 600;
}
.auth-card .text-muted {
  color: #777 !important;
}
.auth-card .form-control,
.auth-card .form-select {
  border-color: #ddd;
  color: #222;
  background: #fff;
}
.auth-card .form-control:focus,
.auth-card .form-select:focus {
  border-color: #008E32;
  box-shadow: 0 0 0 .2rem rgba(0,142,50,.2);
}
.auth-card .form-control.bg-light {
  background: #f4f8f5 !important;
  color: #008E32 !important;
}

/* پنل مدیر — دکمه‌های outline خوانا */
.panel-manager-dark .btn-outline-primary-green {
  border-color: #008E32 !important;
  color: #7dffa0 !important;
}
.panel-manager-dark .btn-outline-primary-green:hover {
  background: #008E32 !important;
  color: #fff !important;
}
.panel-manager-dark .btn-outline-secondary {
  border-color: #A7A7A7;
  color: #ccc;
}
.panel-manager-dark .text-muted {
  color: #A7A7A7 !important;
}
.panel-manager-dark .notif-item.unread {
  background: rgba(0,142,50,.15);
}

/* ========== هوم باشگاه v1.0.0 — خدمات مثلثی + بنر باشگاه + Q&A دو به دو ========== */
.section-heading {
  font-weight: 800;
  color: #111;
  position: relative;
}
.section-heading::after {
  content: '';
  display: block;
  width: 48px;
  height: 3px;
  background: #008E32;
  margin: 0.5rem auto 0;
  border-radius: 2px;
}

/* مثلث خدمات */
.services-triangle {
  max-width: 720px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.services-tri-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  width: 100%;
}
.service-tri-card {
  display: block;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 16px;
  padding: 1.35rem 1.25rem;
  text-align: center;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  box-shadow: 0 4px 16px rgba(0,0,0,.04);
  min-width: 200px;
  flex: 1 1 200px;
  max-width: 280px;
}
.service-tri-top {
  max-width: 300px;
}
.service-tri-card:hover {
  transform: translateY(-6px);
  border-color: #008E32;
  box-shadow: 0 12px 28px rgba(0,142,50,.15);
  color: inherit;
}
.service-tri-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 0.75rem;
  border-radius: 50%;
  background: rgba(0,142,50,.1);
  color: #008E32;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  transition: background .25s ease, transform .25s ease;
}
.service-tri-card:hover .service-tri-icon {
  background: #008E32;
  color: #fff;
  transform: scale(1.08);
}
.service-tri-card h5 {
  font-weight: 700;
  margin-bottom: 0.35rem;
  color: #111;
}
.service-tri-card p {
  margin: 0;
  font-size: 0.85rem;
  color: #777;
}

/* بنر کشف باشگاه */
.gyms-discover-banner {
  border-radius: 18px;
  overflow: hidden;
  background: linear-gradient(135deg, #001a0d 0%, #008E32 55%, #00a83a 100%);
  box-shadow: 0 10px 32px rgba(0,142,50,.25);
  transition: transform .3s ease, box-shadow .3s ease;
}
.gyms-discover-banner:hover {
  transform: translateY(-4px) scale(1.01);
  box-shadow: 0 16px 40px rgba(0,142,50,.35);
}
.gyms-discover-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.25rem;
  padding: 1.5rem 1.75rem;
  color: #fff;
}
.gyms-discover-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: rgba(255,255,255,.15);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.75rem;
  flex-shrink: 0;
  animation: pulse-soft 2.5s ease-in-out infinite;
}
@keyframes pulse-soft {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.08); }
}
.gyms-discover-text {
  flex: 1 1 240px;
}
.gyms-discover-text h4 {
  color: #fff;
  font-weight: 800;
  font-size: 1.1rem;
  line-height: 1.6;
}
.gyms-discover-text p {
  color: rgba(255,255,255,.88);
  font-size: 0.95rem;
  line-height: 1.7;
}
.gyms-discover-cta .btn {
  white-space: nowrap;
  pointer-events: none;
}

/* Q&A دو به دو */
.qa-pair-card {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 14px;
  padding: 1.15rem 1.25rem;
  transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
  box-shadow: 0 2px 12px rgba(0,0,0,.03);
}
.qa-pair-card:hover {
  border-color: rgba(0,142,50,.4);
  box-shadow: 0 8px 24px rgba(0,142,50,.1);
  transform: translateY(-3px);
}
.qa-pair-q {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  margin-bottom: 0.5rem;
}
.qa-pair-q h5 {
  font-size: 1rem;
  font-weight: 700;
  color: #111;
  line-height: 1.5;
}
.qa-pair-a {
  color: #666;
  font-size: 0.9rem;
  line-height: 1.7;
  padding-right: 2rem;
}
.qa-grid-2x2 .qa-num {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #008E32;
  color: #fff;
  font-size: 0.8rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 576px) {
  .gyms-discover-inner { padding: 1.25rem; text-align: center; justify-content: center; }
  .gyms-discover-text h4 { font-size: 1rem; }
  .service-tri-card { max-width: 100%; }
}

.brand-mini-logo{
  font-weight:800;font-size:1.15rem;color:#008E32;letter-spacing:-0.03em;
  line-height:1;display:inline-block;
}
.navbar-brand .brand-mini-logo{vertical-align:middle;}
