/* Variables */
:root {
    --bg-dark: #111827;
    --bg-light: #1F2937;
    --text-primary: #F9FAFB;
    --text-secondary: #9CA3AF;
    --accent-primary: #FBBF24; /* Amber-400 */
    --accent-secondary: #3B82F6; /* Blue-500 */
    --border-color: #374151;
    --font-family: 'Vazirmatn', sans-serif;
    --section-padding-desktop: 6rem 1.5rem; /* پدینگ برای دسکتاپ */
    --section-padding-mobile: 3rem 1rem; /* پدینگ برای موبایل */
    --section-padding-small-mobile: 2.5rem 0.8rem; /* پدینگ برای موبایل کوچک */
}

/* Base & Typography */
body {
    background-color: var(--bg-dark);
    color: var(--text-primary);
    font-family: var(--font-family);
    margin: 0;
    line-height: 1.7;
    scroll-behavior: smooth;
    overflow-x: hidden; /* جلوگیری از اسکرول افقی ناخواسته در کل صفحه */
    direction: rtl; /* جهت اصلی صفحه راست به چپ */
    text-align: right; /* متن ها به صورت پیش فرض راست چین باشند */
}

.body-no-scroll {
    overflow: hidden;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.5rem;
    box-sizing: border-box;
}

a {
    text-decoration: none;
    color: var(--accent-secondary);
    transition: color 0.3s;
}
a:hover {
    color: var(--accent-primary);
}

ul {
    list-style: none;
    padding: 0;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* General Components */
.section-title {
    text-align: center;
    margin-bottom: 4rem;
}
.section-title span {
    color: var(--accent-primary);
    font-weight: 600;
    display: block;
    margin-bottom: 0.5rem;
    font-size: 1.1rem;
}
.section-title h2 {
    font-size: 2.5rem;
    margin: 0;
}
.section-subtitle {
    font-size: 1.1rem;
    color: var(--text-secondary);
    max-width: 600px;
    margin: 1rem auto 0 auto;
}

.btn {
    padding: 0.8rem 1.8rem;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    transition: all 0.3s;
    display: inline-block;
    white-space: nowrap; /* جلوگیری از شکستن متن دکمه */
}
.btn-primary {
    background-color: var(--accent-primary);
    color: var(--bg-dark);
}
.btn-primary:hover {
    background-color: #FCD34D;
    transform: translateY(-3px);
    box-shadow: 0 4px 10px rgba(251, 191, 36, 0.2);
}
.btn-secondary {
    background-color: transparent;
    color: var(--text-primary);
    border: 2px solid var(--border-color);
}
.btn-secondary:hover {
    background-color: var(--border-color);
}

.section-cta-container {
    text-align: center;
    margin-top: 4rem;
}

/* Header & Nav */
.main-header {
    background: rgba(17, 24, 39, 0.8);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    width: 100%;
    z-index: 990; /* زیر منوی بازشو */
    position: relative;
}
.main-header.sticky {
    position: sticky;
    top: 0;
}
.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.2rem 0;
    position: relative;
}
.logo {
    font-size: 2rem;
    font-weight: 700;
    color: var(--text-primary);
    z-index: 1001; /* بالاتر از همه چیز */
}
/* ناوبری دسکتاپ */
.nav-menu {
    display: flex;
    align-items: center;
    gap: 2rem;
}
.nav-menu a {
    color: var(--text-secondary);
    font-weight: 500;
}
.nav-menu a:hover, .nav-menu a.active {
    color: var(--text-primary);
}
.nav-cta {
    background: var(--accent-primary);
    color: var(--bg-dark);
    padding: 0.6rem 1.2rem;
    border-radius: 8px;
    font-weight: 600;
    display: inline-block;
}
.nav-cta:hover {
    background: #FCD34D;
}
/* دکمه‌های موبایل در دسکتاپ پنهان باشند */
.nav-menu .nav-auth {
    display: none;
}

/* Mobile Navigation (Hamburger Menu) */
.nav-toggle {
    display: none;
}
.nav-toggle-label {
    display: none; /* پیش‌فرض: پنهان (فقط در موبایل نمایش یابد) */
    position: absolute;
    top: 0;
    left: 0;
    margin-left: 1.5rem;
    height: 100%;
    width: 40px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 1002;
}
.nav-toggle-label span,
.nav-toggle-label span::before,
.nav-toggle-label span::after {
    display: block;
    background: var(--text-primary);
    height: 2px;
    width: 2em;
    border-radius: 2px;
    position: relative;
    transition: all 0.3s ease-in-out;
}
.nav-toggle-label span::before,
.nav-toggle-label span::after {
    content: '';
    position: absolute;
}
.nav-toggle-label span::before {
    bottom: 7px;
}
.nav-toggle-label span::after {
    top: 7px;
}
.nav-toggle:checked ~ .nav-toggle-label span {
    transform: rotate(45deg);
}
.nav-toggle:checked ~ .nav-toggle-label span::before {
    transform: rotate(90deg);
    bottom: 0;
}
.nav-toggle:checked ~ .nav-toggle-label span::after {
    transform: rotate(90deg);
    top: 0;
}

/* Hero Section */
.hero-section {
    padding: var(--section-padding-desktop);
    text-align: center;
    position: relative;
    background-image: url('https://images.unsplash.com/photo-1621905251189-08b45d6a269e?q=80&w=2069&auto=format&fit=crop');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}
.hero-background-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(17, 24, 39, 0.85);
    z-index: 1;
}
.hero-content {
    position: relative;
    z-index: 2;
}
.hero-content h1 {
    font-size: 3.5rem;
    line-height: 1.2;
    margin-bottom: 1.5rem;
}
.hero-content p {
    font-size: 1.2rem;
    color: var(--text-secondary);
    max-width: 600px;
    margin: 0 auto 2.5rem auto;
}
.hero-buttons {
    display: flex;
    justify-content: center;
    gap: 1rem;
}

/* About Section */
.about-section {
    padding: var(--section-padding-desktop);
    background-color: var(--bg-light);
}
.about-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas: "image main-text" "image features";
    gap: 2rem 4rem;
    align-items: flex-start;
}
.about-image {
    grid-area: image;
    position: sticky;
    top: 120px;
}
.about-image img {
    width: 100%;
    height: auto;
    border-radius: 12px;
    object-fit: cover;
}
.about-main-text {
    grid-area: main-text;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--border-color);
}
.about-main-text h3 {
    font-size: 1.8rem;
    margin-top: 0;
    color: var(--text-primary);
}
.about-main-text p {
    color: var(--text-secondary);
    font-size: 1.1rem;
    line-height: 1.8;
}
.about-features {
    grid-area: features;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.feature-card {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
    background-color: var(--bg-dark);
    padding: 1.5rem;
    border-radius: 10px;
    border: 1px solid transparent;
    transition: all 0.3s ease;
}
.feature-card:hover {
    transform: translateX(-10px);
    border-color: var(--accent-primary);
}
.feature-icon {
    flex-shrink: 0;
    background-color: var(--bg-light);
    color: var(--accent-primary);
    width: 50px;
    height: 50px;
    border-radius: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.feature-icon svg {
    width: 28px;
    height: 28px;
}
.feature-card h4 {
    margin: 0 0 0.5rem 0;
    font-size: 1.1rem;
    color: var(--text-primary);
}
.feature-card p {
    margin: 0;
    color: var(--text-secondary);
    font-size: 0.95rem;
    line-height: 1.6;
}

/* Products & Projects Sections Common */
.products-section, .projects-section {
    padding: var(--section-padding-desktop);
}
.projects-section {
    background-color: var(--bg-light);
}

/* Product Card Specific Styles */
.product-card {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    border: 1px solid var(--border-color);
    min-height: 400px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    transition: all 0.4s ease-in-out;
}
.product-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent; /* بدون سایه روی عکس */
    z-index: 1;
    border-radius: inherit;
    transition: all 0.4s ease;
}
.product-card:hover {
    transform: scale(1.03);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.3);
    border-color: var(--accent-primary);
}
.product-card:hover::before {
    background: transparent;
}
.product-card-content {
    position: relative;
    z-index: 2;
    padding: 1.5rem 2rem;
    color: var(--text-primary);
    background-color: var(--bg-dark); /* پس‌زمینه برای متن محصول */
    box-shadow: 0 -5px 15px rgba(0, 0, 0, 0.3);
    border-top: 1px solid var(--border-color);
    border-bottom-left-radius: 12px;
    border-bottom-right-radius: 12px;
}
.product-card-content h3 {
    margin-top: 0;
    margin-bottom: 0.75rem;
    font-size: 1.7rem;
    line-height: 1.3;
    color: var(--text-primary);
}
.product-card-content p {
    color: var(--text-secondary);
    line-height: 1.6;
    margin-bottom: 1.5rem;
    opacity: 0;
    max-height: 0;
    transition: max-height 0.4s ease-out, opacity 0.4s ease-out 0.1s;
}
.product-card:hover .product-card-content p {
    opacity: 1;
    max-height: 100px;
}
.card-link {
    color: var(--accent-primary);
    font-weight: 600;
    text-decoration: none;
    align-self: flex-start;
    transition: all 0.3s ease;
    transform: translateX(10px);
    opacity: 0;
}
.product-card:hover .card-link {
    transform: translateX(0);
    opacity: 1;
    transition-delay: 0.2s;
}

/* Project Card Specific Styles */
.project-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2rem;
}
.project-card-link {
    text-decoration: none;
    color: inherit;
    display: block;
    height: 100%; /* برای همترازی کارت‌ها در یک ردیف گرید */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.project-card-link:hover {
    transform: translateY(-8px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
    z-index: 1;
}
.project-card {
    background-color: var(--bg-dark);
    border-radius: 12px;
    border: 1px solid var(--border-color);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%; /* برای اینکه فرزند link-card-link ارتفاع 100% را بگیرد */
}
.project-card:hover {
    border-color: var(--accent-primary);
}
/* **تنظیم سایز کادر عکس پروژه در لیست (فریم عکس در کارت پروژه)** */
.project-card-image {
    width: 100%;
    height: 250px; /* ارتفاع ثابت برای فریم عکس کارت پروژه در دسکتاپ */
    overflow: hidden;
}
.project-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* نسبت تصویر را حفظ کرده و فریم را پوشش دهد */
    transition: transform 0.4s ease;
}
.project-card:hover .project-card-image img {
    transform: scale(1.05);
}
.project-card-content {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}
.project-card-content h3 {
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-size: 1.4rem;
    color: var(--text-primary);
}
.project-card-content .project-category {
    color: var(--accent-primary);
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 1rem;
}
.project-card-content p {
    color: var(--text-secondary);
    line-height: 1.6;
    flex-grow: 1;
    margin-bottom: 0;
}

/* Testimonials Section */
.testimonials-section {
    padding: var(--section-padding-desktop);
}
.logo-wall {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 2.5rem;
    margin-top: 4rem;
    margin-bottom: 5rem;
}
.logo-wall img {
    height: 90px;
    width: 90px;
    background-color: var(--bg-dark);
    border: 2px solid var(--border-color);
    border-radius: 50%;
    padding: 15px;
    box-sizing: border-box;
    filter: brightness(0.8) grayscale(1);
    opacity: 0.7;
    transition: all 0.3s ease;
}
.logo-wall img:hover {
    filter: brightness(1) grayscale(0);
    opacity: 1;
    border-color: var(--accent-primary);
    transform: translateY(-5px);
    background-color: var(--bg-light);
}
.testimonial-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
    gap: 2rem;
}
.testimonial-card {
    background: linear-gradient(145deg, var(--bg-dark), #2c3a4f);
    padding: 2.5rem;
    border-radius: 12px;
    border: 1px solid var(--border-color);
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}
.quote-icon {
    position: absolute;
    top: 1rem;
    right: 1.5rem;
    font-size: 8rem;
    font-weight: 700;
    color: rgba(251, 191, 36, 0.05);
    line-height: 1;
    z-index: 1;
    user-select: none;
}
.testimonial-text {
    font-size: 1.1rem;
    line-height: 1.8;
    margin: 0;
    position: relative;
    z-index: 2;
    color: var(--text-secondary);
    font-style: italic;
}
.testimonial-card hr {
    border: none;
    height: 1px;
    background-color: var(--border-color);
    margin: 2rem 0;
    position: relative;
    z-index: 2;
}
.testimonial-author-info {
    display: flex;
    align-items: center;
    gap: 1rem;
    position: relative;
    z-index: 2;
}
.author-avatar {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    border: 2px solid var(--border-color);
    object-fit: cover;
}
.author-details {
    display: flex;
    flex-direction: column;
}
.author-details strong {
    font-size: 1.1rem;
    color: var(--text-primary);
}
.author-details span {
    font-size: 0.9rem;
    color: var(--accent-primary);
}

/* CRM Section */
.crm-section {
    padding: var(--section-padding-desktop);
    background-color: var(--bg-light);
    text-align: center;
    position: relative;
    background-image: url('https://images.unsplash.com/photo-1551288049-bebda4e38f71?q=80&w=2070&auto=format&fit=crop');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}
.crm-section .section-title h2, .crm-section .section-subtitle {
    position: relative;
    z-index: 2;
}
.crm-buttons {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    margin-top: 2.5rem;
    position: relative;
    z-index: 2;
}

/* Contact Section & Form Styles */
.contact-section {
    padding: var(--section-padding-desktop);
}
.contact-wrapper {
    background: var(--bg-light);
    padding: 3rem;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    max-width: 900px;
    margin: 0 auto;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3);
}
.contact-form {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}
.form-group {
    margin-bottom: 0;
}
.form-group label {
    display: block;
    margin-bottom: 0.6rem;
    color: var(--text-secondary);
    font-weight: 500;
    text-align: right;
}
.contact-form input,
.contact-form textarea,
.contact-form select,
.form-control {
    background: var(--bg-dark);
    border: 1px solid var(--border-color);
    color: var(--text-primary);
    padding: 0.8rem 1.2rem;
    border-radius: 8px;
    font-family: var(--font-family);
    font-size: 1rem;
    width: 100%;
    box-sizing: border-box;
    direction: rtl;
    text-align: right;
}
select.form-control {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2212%22%20height%3D%227%22%20viewBox%3D%220%200%2012%207%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M1%201L6%206L11%201%22%20stroke%3D%22%239CA3AF%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E');
    background-repeat: no-repeat;
    background-position: left 1rem center;
    padding-left: 2.5rem;
    cursor: pointer;
}
.contact-form button {
    align-self: flex-start;
    margin-top: 1.5rem;
}
.contact-info p {
    margin-bottom: 1.5rem;
}


/* Profile Page Specific Styles */
.info-group {
    background-color: var(--bg-dark);
    padding: 2.5rem;
    border-radius: 12px;
    border: 1px solid var(--border-color);
    margin-bottom: 2rem;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}
.info-group p {
    color: var(--text-secondary);
    line-height: 1.6;
    margin: 0;
    font-size: 1.05rem;
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    justify-content: space-between;
}
.info-group p strong {
    color: var(--text-primary);
    font-weight: 600;
    text-align: right;
    min-width: 200px; /* عرض حداقل برای لیبل ها */
    flex-shrink: 0;
    margin-left: auto;
}
.info-group p .value-text {
    flex-grow: 1;
    text-align: left;
    padding-right: 10px;
    box-sizing: border-box;
}
/* LTR specific styles */
.info-group p span[dir="ltr"],
.info-group p a[dir="ltr"] {
    direction: ltr;
    unicode-bidi: embed;
    text-align: left;
    flex-grow: 1;
    word-break: break-all;
}

/* Modal Styles */
.modal {
    display: none;
    position: fixed;
    z-index: 10000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.8);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    display: flex;
    justify-content: center;
    align-items: center;
}
.modal-content {
    background-color: var(--bg-light);
    margin: auto;
    padding: 2.5rem;
    border-radius: 12px;
    width: 90%;
    max-width: 900px;
    position: relative;
    box-shadow: 0 8px 25px rgba(0,0,0,0.5);
    animation: fadeIn 0.3s ease-out;
    max-height: 90vh;
    overflow-y: auto;
}
.close-button {
    color: var(--text-secondary);
    font-size: 2rem;
    font-weight: bold;
    position: absolute;
    top: 1rem;
    left: 1.5rem;
    cursor: pointer;
    transition: color 0.3s;
}
.close-button:hover,
.close-button:focus {
    color: var(--accent-primary);
    text-decoration: none;
}
.modal-content h2 {
    color: var(--text-primary);
    font-size: 2.2rem;
    margin-bottom: 0.5rem;
}
.modal-content .project-category {
    color: var(--accent-primary);
    font-size: 1rem;
    margin-bottom: 1.5rem;
    display: block;
}
.modal-content p {
    color: var(--text-secondary);
    line-height: 1.8;
    font-size: 1rem;
    margin-top: 1.5rem;
}
.modal-image-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
    margin-top: 1.5rem;
    margin-bottom: 1rem;
}
.modal-image-gallery img {
    width: 100%;
    height: 150px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid var(--border-color);
    transition: transform 0.3s ease, border-color 0.3s ease;
}
.modal-image-gallery img:hover {
    transform: scale(1.05);
    border-color: var(--accent-primary);
}
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-20px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Project Detail Page Styles */
.project-detail-content .main-project-image {
    width: 100%;
    max-width: 800px;
    height: 400px;
    object-fit: cover;
    border-radius: 8px;
    margin: 0 auto 2rem auto;
    display: block;
}
.project-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin-top: 1.5rem;
}
.project-gallery-grid img {
    width: 100%;
    height: 150px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid var(--border-color);
}
.project-gallery-grid .gallery-item p { /* Caption for gallery images */
    font-size: 0.9em;
    color: var(--text-secondary);
    text-align: center;
    margin-top: 0.5rem;
}


/* Footer */
.main-footer {
    background-color: var(--bg-dark);
    padding: 4rem 1.5rem 2rem 1.5rem;
    border-top: 1px solid var(--border-color);
}
.footer-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
    margin-bottom: 3rem;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
.footer-col h4 {
    color: var(--accent-primary);
    margin-bottom: 1rem;
}
.footer-col p, .footer-col ul li a {
    color: var(--text-secondary);
    margin-bottom: 0.5rem;
}
.footer-col ul li a:hover {
    color: var(--text-primary);
}
.footer-bottom {
    text-align: center;
    border-top: 1px solid var(--border-color);
    padding-top: 2rem;
    color: var(--text-secondary);
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}


/* ================================================= */
/* ================= RESPONSIVE DESIGN ============= */
/* ================================================= */

/* Tablet (max-width: 992px) */
@media (max-width: 992px) {
    :root {
        --section-padding-desktop: 4rem 1.5rem; /* کاهش پدینگ در تبلت */
    }

    .about-grid, .contact-wrapper {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    .about-image {
        position: static;
        max-height: 350px;
        overflow: hidden;
    }
    .about-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .section-title h2 {
        font-size: 2.2rem;
    }
    .hero-content h1 {
        font-size: 3rem;
    }
    .hero-content p {
        font-size: 1.15rem;
    }

    /* Horizontal Scrolling for Cards (Tablet) */
    .product-grid, .project-grid, .testimonial-grid {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        padding-bottom: 1.5rem;
        gap: 1.5rem;
        flex-wrap: nowrap;
    }
    .product-card, .testimonial-card {
        flex-shrink: 0;
        flex-basis: 85%;
        min-width: 300px;
        scroll-snap-align: center;
    }
    .project-card-link { /* لینک کارت پروژه در تبلت */
        flex-shrink: 0;
        flex-basis: 85%;
        min-width: 300px;
        scroll-snap-align: center;
    }

    .testimonial-card {
        flex-basis: 90%;
    }
    .logo-wall {
        flex-wrap: nowrap;
        justify-content: flex-start;
        overflow-x: auto;
        padding: 1rem 1.5rem;
        scroll-snap-type: x mandatory;
    }
    .logo-wall img {
        flex-shrink: 0;
        height: 80px;
        width: 80px;
        scroll-snap-align: center;
    }

    /* Form Styles (Tablet) */
    .contact-wrapper {
        padding: 2rem;
        gap: 1.5rem;
        max-width: 700px;
    }
    .contact-form {
        gap: 1rem;
    }
    .form-group label {
        font-size: 0.95rem;
        margin-bottom: 0.5rem;
    }
    .contact-form input,
    .contact-form textarea,
    .contact-form select,
    .form-control {
        padding: 0.7rem 1rem;
        font-size: 0.95rem;
        width: 100%;
        max-width: none;
    }
    select.form-control {
        padding-left: 2rem;
    }
    .contact-form button {
        margin-top: 1rem;
        width: 100%;
        max-width: none;
        align-self: center;
    }

    /* Info Group (Profile Page Tablet) */
    .info-group {
        padding: 2rem;
        gap: 0.7rem;
    }
    .info-group p {
        font-size: 1rem;
        line-height: 1.5;
        flex-direction: column;
        align-items: flex-end;
        justify-content: flex-end;
    }
    .info-group p strong {
        font-size: 1.05rem;
        margin-bottom: 0.3rem;
        min-width: unset;
        margin-left: 0;
    }
    .info-group p .value-text {
        text-align: right;
        padding-right: 0;
    }
    .info-group p span[dir="ltr"],
    .info-group p a[dir="ltr"] {
        width: 100%;
        text-align: right;
    }

    /* Image Sizes (Tablet) */
    .project-card-image {
        height: 220px;
    }
    .modal-image-gallery {
        grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    }
    .modal-image-gallery img {
        height: 100px;
    }
    .project-detail-content .main-project-image {
        height: 300px;
    }
}

/* Mobile (max-width: 768px) */
@media (max-width: 768px) {
    :root {
        --section-padding-desktop: var(--section-padding-mobile);
    }
    .container {
        padding: 0 1rem;
    }
    .section-title {
        margin-bottom: 2.5rem;
    }
    .section-title span {
        font-size: 0.95rem;
    }
    .section-title h2 {
        font-size: 1.8rem;
    }
    .section-subtitle {
        font-size: 0.9rem;
        margin-top: 0.8rem;
    }

    .hero-content h1 {
        font-size: 2rem;
        line-height: 1.3;
        margin-bottom: 0.8rem;
    }
    .hero-content p {
        font-size: 0.95rem;
        margin-bottom: 1.5rem;
    }
    .hero-buttons {
        flex-direction: column;
        gap: 0.7rem;
    }
    .btn {
        padding: 0.6rem 1.2rem;
        width: 90%;
        max-width: 280px;
        font-size: 0.9rem;
    }

    /* Hamburger Menu Activation and Styling */
    .nav-toggle-label {
        margin-left: 0.8rem;
        display: flex; /* نمایش دکمه همبرگری */
    }
    .navbar {
        padding: 0.8rem 0;
    }
    .logo {
        font-size: 1.6rem;
    }
    .nav-menu {
        position: fixed;
        top: 0;
        right: 0;
        height: 100vh;
        width: 100vw;
        background-color: var(--bg-dark);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
        transform: translateX(100%);
        transition: transform 0.4s ease-in-out;
        gap: 1rem;
        z-index: 1000;
        overflow-y: auto;
        padding: 60px 0 20px 0;
        box-sizing: border-box;
    }
    .nav-menu .nav-links {
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
        margin-bottom: 2rem;
    }
    .nav-menu .nav-links a {
        font-size: 1.5rem;
        color: var(--text-primary);
        padding: 0.5rem 0;
    }
    .nav-menu .nav-auth {
        display: none; /* پیش‌فرض: پنهان */
        flex-direction: column;
        gap: 1rem;
        width: 80%;
        margin-top: 1rem;
    }
    .nav-toggle:checked ~ .navbar .nav-menu .nav-auth {
        display: flex;
    }
    .nav-cta, .nav-auth-desktop {
        display: none;
    }
    .nav-toggle:checked ~ .navbar .nav-menu {
        transform: translateX(0);
    }
    .body-no-scroll {
        overflow: hidden;
    }

    /* Products & Projects Cards (Mobile) */
    .product-card-content h3 {
        font-size: 1.3rem;
    }
    .product-card-content p {
        font-size: 0.85rem;
        margin-bottom: 1rem;
    }
    .card-link {
        font-size: 0.85rem;
    }
    .project-card-content h3 {
        font-size: 1.1rem;
    }
    .project-card-content .project-category {
        font-size: 0.8rem;
        margin-bottom: 0.8rem;
    }
    .project-card-content p {
        font-size: 0.85rem;
    }
    .contact-info h3 {
        font-size: 1.2rem;
        margin-bottom: 1rem;
    }
    .contact-info p {
        font-size: 0.9rem;
        margin-bottom: 1rem;
        line-height: 1.6;
    }
    .contact-info a {
        font-size: 0.9rem;
    }

    /* Testimonials Section (Mobile) */
    .logo-wall {
        gap: 2rem;
        padding: 0.8rem 0.5rem;
    }
    .logo-wall img {
        height: 60px;
        width: 60px;
        padding: 8px;
    }
    .testimonial-card {
        padding: 1.8rem;
        min-width: 260px;
    }
    .quote-icon {
        font-size: 5rem;
        top: 0.3rem;
        right: 0.8rem;
    }
    .testimonial-text {
        font-size: 0.95rem;
        line-height: 1.7;
    }
    .testimonial-card hr {
        margin: 1.5rem 0;
    }
    .author-avatar {
        width: 45px;
        height: 45px;
    }
    .author-details strong {
        font-size: 0.95rem;
    }
    .author-details span {
        font-size: 0.75rem;
    }

    /* CTA Buttons (Mobile) */
    .section-cta-container {
        margin-top: 2.5rem;
    }
    .section-cta-container .btn {
        width: 90%;
        max-width: 300px;
        font-size: 0.95rem;
    }
    .crm-buttons {
        gap: 0.8rem;
        margin-top: 2rem;
    }
    .crm-buttons .btn {
        width: 90%;
        max-width: 280px;
        font-size: 0.9rem;
    }

    /* Footer (Mobile) */
    .main-footer {
        padding: 2.5rem 0.8rem 1.2rem 0.8rem;
    }
    .footer-content {
        gap: 1rem;
    }
    .footer-col h4 {
        font-size: 1rem;
        margin-bottom: 0.6rem;
    }
    .footer-col p, .footer-col ul li a {
        font-size: 0.85rem;
        margin-bottom: 0.3rem;
    }
    .footer-bottom p {
        font-size: 0.75rem;
    }
}

/* Very Small Screens (max-width: 480px) */
@media (max-width: 480px) {
    :root {
        --section-padding-desktop: var(--section-padding-small-mobile);
    }
    .container {
        padding: 0 0.8rem;
    }

    .section-title {
        margin-bottom: 2rem;
    }
    .section-title h2 {
        font-size: 1.6rem;
    }
    .section-subtitle {

        font-size: 0.85rem;
    }

    .hero-content h1 {
        font-size: 1.8rem;
    }
    .hero-content p {
        font-size: 0.9rem;
    }
    .hero-buttons {
        gap: 0.6rem;
    }
    .btn {
        padding: 0.5rem 1rem;
        font-size: 0.85rem;
        width: 100%;
        max-width: none;
    }

    /* Card widths for very small screens */
    .product-card, .testimonial-card {
        flex-basis: 100%;
        min-width: 220px;
    }
    .project-card-link {
        flex-basis: 100%;
        min-width: 220px;
    }

    .product-card-content h3 {
        font-size: 1.2rem;
    }
    .project-card-content h3 {
        font-size: 1rem;
    }
    .testimonial-card {
        padding: 1.2rem;
    }
    .testimonial-text {
        font-size: 0.85rem;
    }
    .author-avatar {
        width: 45px;
        height: 45px;
    }
    .author-details strong {
        font-size: 0.9rem;
    }
    .author-details span {
        font-size: 0.7rem;
    }

    .logo-wall img {
        height: 50px;
        width: 50px;
        padding: 5px;
    }

    .contact-wrapper {
        padding: 1rem;
        gap: 0.8rem;
    }
    .contact-form input, .contact-form textarea, .contact-form select, .form-control {
        font-size: 0.85rem;
        padding: 0.5rem 0.8rem;
    }
    select.form-control {
        padding-left: 1.5rem;
    }
    .contact-form button {
        padding: 0.5rem 1rem;
        font-size: 0.85rem;
    }
    .contact-info h3 {
        font-size: 1rem;
    }
    .contact-info p {
        font-size: 0.85rem;
        margin-bottom: 0.6rem;
    }
    .contact-info a {
        font-size: 0.8rem;
    }
}

/* Hide scrollbar */
.product-grid::-webkit-scrollbar, .project-grid::-webkit-scrollbar,
.testimonial-grid::-webkit-scrollbar, .logo-wall::-webkit-scrollbar {
    display: none;
}
.product-grid, .project-grid, .testimonial-grid, .logo-wall {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* --- Products & Projects Sections Common --- */
/* ... کدهای قبلی ... */

/* **اصلاح product-grid برای دسکتاپ** */
.product-grid { /* product-grid و project-grid را تفکیک می کنیم */
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2rem;
}

/* **اصلاح product-card-link (که کل کارت را لینک می کند)** */
.product-card-link {
    text-decoration: none;
    color: inherit;
    display: block;
    height: 100%; /* برای همترازی کارت‌ها در یک ردیف گرید */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.product-card-link:hover {
    transform: translateY(-8px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
    z-index: 1;
}

/* **اصلاح product-card (کادر اصلی کارت محصول)** */
.product-card {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    background-size: cover; /* این ممکن است از HTML آمده باشد، بهتر است در CSS حذف شود اگر تصویر از تگ img می آید */
    background-position: center; /* همینطور */
    border: 1px solid var(--border-color);
    min-height: 400px; /* حداقل ارتفاع کلی کارت */
    display: flex;
    flex-direction: column;
    justify-content: flex-end; /* محتوا را به پایین هل بدهد */
    height: 100%; /* برای همترازی کارت‌ها در یک ردیف گرید */
    /* transition: all 0.4s ease-in-out; <--- این را از اینجا حذف می کنیم و به product-card-link منتقل می کنیم */
}
/* **تنظیم سایه محصول** */
.product-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent; /* بدون سایه روی عکس */
    z-index: 1;
    border-radius: inherit;
    transition: all 0.4s ease;
}
.product-card:hover {
    /* transform: scale(1.03); */ /* این را حذف کنید، چون transform روی لینک اعمال می شود */
    /* box-shadow: 0 15px 30px rgba(0, 0, 0, 0.3); */ /* این را حذف کنید */
    border-color: var(--accent-primary);
}
.product-card:hover::before {
    background: transparent;
}
/* **تصویر محصول در کارت لیستینگ (فریم عکس در کارت محصول)** */
.product-card-image {
    width: 100%;
    height: 250px; /* ارتفاع ثابت برای فریم عکس کارت محصول در دسکتاپ */
    overflow: hidden;
    /* اینها برای وسط چین کردن عکس در فریم هستند (اختیاری اگر object-fit: cover کافی باشد) */
    /* display: flex; justify-content: center; align-items: center; */
}
.product-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* **مهم: نسبت تصویر را حفظ کرده و فریم را پوشش دهد** */
    transition: transform 0.4s ease;
}
.product-card:hover .product-card-image img {
    transform: scale(1.05);
}
/* ... product-card-content و ... */

/* Project Card Specific Styles (بدون تغییر عمده، فقط برای کپی کامل) */
.project-grid { /* product-grid و project-grid را تفکیک می کنیم */
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2rem;
}
.project-card-link {
    text-decoration: none;
    color: inherit;
    display: block;
    height: 100%;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.project-card-link:hover {
    transform: translateY(-8px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
    z-index: 1;
}
.project-card {
    background-color: var(--bg-dark);
    border-radius: 12px;
    border: 1px solid var(--border-color);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
}
.project-card:hover {
    border-color: var(--accent-primary);
}
.project-card-image {
    width: 100%;
    height: 250px;
    overflow: hidden;
}
.project-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}
.project-card:hover .project-card-image img {
    transform: scale(1.05);
}
/* ... project-card-content ... */

/* Modal Styles (شامل گالری تصاویر مدال) */
/* **تنظیم سایز عکس‌های گالری در مدال (فریم عکس در گالری)** */
.modal-image-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1rem;
    margin-top: 1.5rem;
    margin-bottom: 1rem;
}
.modal-image-gallery img {
    width: 100%;
    height: 150px; /* ارتفاع ثابت برای فریم عکس‌های گالری در دسکتاپ */
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid var(--border-color);
    transition: transform 0.3s ease, border-color 0.3s ease;
}
.modal-image-gallery img:hover {
    transform: scale(1.05);
    border-color: var(--accent-primary);
}


/* **استایل برای عکس اصلی در صفحه جزئیات (Product/Project)** */
.main-product-image, .main-project-image { /* یک کلاس مشترک برای هر دو مدل */
    width: 100%;
    max-width: 800px;
    height: 400px; /* ارتفاع ثابت برای فریم عکس اصلی در دسکتاپ */
    object-fit: cover;
    border-radius: 8px;
    margin: 0 auto 2rem auto;
    display: block;
}

/* **استایل برای گالری تصاویر در صفحه جزئیات (Product/Project)** */
.product-gallery-grid, .project-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin-top: 1.5rem;
}
.product-gallery-grid img, .project-gallery-grid img {
    width: 100%;
    height: 150px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid var(--border-color);
}
.product-gallery-grid .gallery-item p, .project-gallery-grid .gallery-item p {
    font-size: 0.9em;
    color: var(--text-secondary);
    text-align: center;
    margin-top: 0.5rem;
}


/* --- Media Queries (تنظیمات ریسپانسیو) --- */

/* Tablet (max-width: 992px) */
@media (max-width: 992px) {
    /* ... کدهای قبلی ... */

    /* Horizontal Scrolling for Cards (Tablet) */
    .product-grid, .project-grid, .testimonial-grid {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        padding-bottom: 1.5rem;
        gap: 1.5rem;
        flex-wrap: nowrap;
    }
    .product-card-link, .project-card-link, .testimonial-card { /* اضافه کردن product-card-link */
        flex-shrink: 0;
        flex-basis: 85%;
        min-width: 300px;
        scroll-snap-align: center;
    }

    /* Image Sizes (Tablet) */
    .product-card-image { height: 220px; }
    .project-card-image { height: 220px; } /* برایconsistency */
    .modal-image-gallery img { height: 120px; }
    .main-product-image, .main-project-image { height: 300px; }
    .product-gallery-grid img, .project-gallery-grid img { height: 120px; }
}

/* Mobile (max-width: 768px) */
@media (max-width: 768px) {
    /* ... کدهای قبلی ... */

    /* Image Sizes (Mobile) */
    .product-card-image { height: 180px; }
    .project-card-image { height: 180px; }
    .modal-image-gallery img { height: 90px; }
    .main-product-image, .main-project-image { height: 250px; }
    .product-gallery-grid img, .project-gallery-grid img { height: 90px; }
}

/* Very Small Screens (max-width: 480px) */
@media (max-width: 480px) {
    /* ... کدهای قبلی ... */

    /* Image Sizes (Very Small Screens) */
    .product-card-image { height: 150px; }
    .project-card-image { height: 150px; }
    .modal-image-gallery img { height: 70px; }
    .main-product-image, .main-project-image { height: 200px; }
    .product-gallery-grid img, .project-gallery-grid img { height: 70px; }
}
/* Relevant CSS for product card sizing (already in static/css/style.css from last full update) */

/* Products & Projects Sections Common */
.product-grid { /* For desktop, grid layout */
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2rem;
}

/* Styles for product-card-link to make the whole card clickable and control its size */
.product-card-link {
    text-decoration: none;
    color: inherit;
    display: block; /* Important to take width/height */
    height: 100%; /* For consistent height in grid/flex rows */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.product-card-link:hover {
    transform: translateY(-8px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
    z-index: 1;
}

/* Product Card base styles */
.product-card {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    /* background-size/position: remove if image is from <img> tag */
    border: 1px solid var(--border-color);
    min-height: 400px; /* Overall card min height */
    display: flex;
    flex-direction: column;
    justify-content: flex-end; /* Content pushed to bottom */
    height: 100%; /* Ensure it fills parent link's height */
}
/* Product card image frame */
.product-card-image {
    width: 100%;
    height: 250px; /* Fixed height for product card image frame on desktop */
    overflow: hidden;
}
.product-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Ensures image fills frame while preserving aspect ratio */
    transition: transform 0.4s ease;
}
.product-card:hover .product-card-image img {
    transform: scale(1.05);
}

/* Media Queries for responsive sizing (these should also be in your static/css/style.css) */
@media (max-width: 992px) {
    .product-grid { /* For tablet, horizontal scroll */
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        padding-bottom: 1.5rem;
        gap: 1.5rem;
        flex-wrap: nowrap;
    }
    .product-card-link {
        flex-shrink: 0;
        flex-basis: 85%; /* Card width on tablet */
        min-width: 300px;
        scroll-snap-align: center;
    }
    .product-card-image {
        height: 220px; /* Responsive height */
    }
}

@media (max-width: 768px) {
    .product-card-link {
        flex-basis: 95%; /* Card width on mobile */
        min-width: 280px;
    }
    .product-card-image {
        height: 180px; /* Responsive height */
    }
}

@media (max-width: 480px) {
    .product-card-link {
        flex-basis: 100%; /* Card width on very small screens */
        min-width: 250px;
    }
    .product-card-image {
        height: 150px; /* Responsive height */
    }
}

/* --- Testimonials Section --- */
/* ... کدهای قبلی Testimonials Section ... */

.logo-wall {
    display: flex;
    justify-content: center;
    align-items: center; /* برای هم ترازی عمودی آیتم ها */
    flex-wrap: wrap;
    gap: 2.5rem; /* فاصله بین آیتم های شرکا */
    margin-top: 4rem;
    margin-bottom: 5rem;
}

.partner-item { /* **کلاس جدید برای هر آیتم شریک (لوگو + نام)** */
    display: flex;
    flex-direction: column; /* لوگو بالا، نام زیر آن */
    align-items: center; /* وسط چین کردن محتوا */
    gap: 0.5rem; /* فاصله بین لوگو و نام */
    text-align: center; /* متن نام وسط چین */
    width: 120px; /* حداکثر عرض برای هر آیتم */
    flex-shrink: 0; /* برای اسکرول افقی در موبایل */
    scroll-snap-align: center; /* برای اسکرول افقی در موبایل */
}

.partner-logo-svg { /* برای SVG هایی که مستقیماً در HTML رندر می شوند */
    height: 90px;
    width: 90px;
    background-color: var(--bg-dark);
    border: 2px solid var(--border-color);
    border-radius: 50%;
    padding: 15px;
    box-sizing: border-box;
    filter: brightness(0.8) grayscale(1);
    opacity: 0.7;
    transition: all 0.3s ease;
    display: flex; /* برای وسط چین کردن SVG داخلی */
    justify-content: center;
    align-items: center;
}

/* استایل برای تگ img که در لوگو-وال استفاده می‌شود */
.logo-wall img {
    height: 90px;
    width: 90px;
    background-color: var(--bg-dark);
    border: 2px solid var(--border-color);
    border-radius: 50%;
    padding: 15px;
    box-sizing: border-box;
    filter: brightness(0.8) grayscale(1);
    opacity: 0.7;
    transition: all 0.3s ease;
    /* اینها به partner-item منتقل شده اند: flex-shrink: 0; scroll-snap-align: center; */
}

/* هاور برای کل آیتم شریک */
.partner-item:hover .partner-logo-svg,
.partner-item:hover img {
    filter: brightness(1) grayscale(0);
    opacity: 1;
    border-color: var(--accent-primary);
    transform: translateY(-5px);
    background-color: var(--bg-light);
}

.partner-name { /* **استایل برای نام شریک** */
    color: var(--text-primary);
    font-size: 0.9rem;
    font-weight: 500;
    margin-top: 0.5rem; /* فاصله از لوگو */
    white-space: nowrap; /* جلوگیری از شکستن نام به خط بعدی */
    overflow: hidden; /* پنهان کردن نام های خیلی طولانی */
    text-overflow: ellipsis; /* نمایش ... برای نام های بریده شده */
    max-width: 100%; /* مطمئن شدن که از عرض آیتم بیرون نمی زند */
}

/* ... کدهای قبلی Testimonials Section ... */


/* --- Media Queries --- */
/* Tablet (max-width: 992px) */
@media (max-width: 992px) {
    /* ... کدهای قبلی ... */

    .partner-item {
        width: 100px; /* کاهش عرض در تبلت */
    }
    .partner-logo-svg,
    .logo-wall img {
        height: 80px;
        width: 80px;
        padding: 12px;
    }
    .partner-name {
        font-size: 0.85rem;
    }
}

/* Mobile (max-width: 768px) */
@media (max-width: 768px) {
    /* ... کدهای قبلی ... */

    .logo-wall {
        gap: 1.5rem; /* کاهش فاصله در موبایل */
        padding: 0.8rem 0.5rem;
    }
    .partner-item {
        width: 90px; /* کاهش عرض بیشتر در موبایل */
    }
    .partner-logo-svg,
    .logo-wall img {
        height: 70px;
        width: 70px;
        padding: 10px;
    }
    .partner-name {
        font-size: 0.8rem;
    }
}

/* Very Small Screens (max-width: 480px) */
@media (max-width: 480px) {
    /* ... کدهای قبلی ... */

    .partner-item {
        width: 80px; /* کاهش عرض در موبایل خیلی کوچک */
    }
    .partner-logo-svg,
    .logo-wall img {
        height: 60px;
        width: 60px;
        padding: 8px;
    }
    .partner-name {
        font-size: 0.75rem;
    }
}
/* --- Testimonials Section --- */
/* ... کدهای عمومی بخش Testimonials Section ... */

.logo-wall {
    display: flex; /* **مهم: برای چیدمان افقی** */
    justify-content: center;
    align-items: center;
    flex-wrap: wrap; /* در دسکتاپ می شکند (فعلا برای دسکتاپ، بعدا با media query کنترل می شود) */
    gap: 2.5rem;
    margin-top: 4rem;
    margin-bottom: 5rem;
}

/* ... بقیه کدهای این بخش ... */

/* ================================================= */
/* ================= RESPONSIVE DESIGN ============= */
/* ================================================= */

/* Tablet (max-width: 992px) */
@media (max-width: 992px) {
    /* ... کدهای قبلی ... */

    /* **اصلاح logo-wall برای اسکرول افقی در تبلت** */
    .logo-wall {
        flex-wrap: nowrap; /* **مهم: جلوگیری از شکستن به سطر بعدی** */
        justify-content: flex-start; /* شروع از راست (در RTL) */
        overflow-x: auto; /* **فعال کردن اسکرول افقی** */
        padding: 1rem 1.5rem; /* پدینگ برای نمایش اسکرول‌بار */
        scroll-snap-type: x mandatory; /* اسنپ کردن آیتم‌ها */
        gap: 1.5rem; /* کاهش فاصله بین آیتم‌ها در اسکرول افقی */
    }
    .partner-item { /* آیتم های داخلی logo-wall */
        flex-shrink: 0; /* **مهم: جلوگیری از کوچک شدن آیتم‌ها** */
        width: 100px; /* کاهش عرض در تبلت */
        scroll-snap-align: center; /* اسنپ شدن آیتم در مرکز */
    }
    .partner-logo-svg,
    .logo-wall img {
        height: 80px;
        width: 80px;
        padding: 12px;
    }
    .partner-name {
        font-size: 0.85rem;
    }
    /* ... بقیه کدهای media query 992px ... */
}

/* Mobile (max-width: 768px) */
@media (max-width: 768px) {
    /* ... کدهای قبلی ... */

    /* **اصلاح logo-wall برای اسکرول افقی در موبایل** */
    .logo-wall {
        gap: 1rem; /* کاهش فاصله بیشتر در موبایل */
        padding: 0.8rem 1rem; /* پدینگ بیشتر برای کناره‌ها */
    }
    .partner-item {
        width: 80px; /* کاهش عرض بیشتر در موبایل */
    }
    .partner-logo-svg,
    .logo-wall img {
        height: 70px;
        width: 70px;
        padding: 10px;
    }
    .partner-name {
        font-size: 0.8rem;
    }
    /* ... بقیه کدهای media query 768px ... */
}

/* Very Small Screens (max-width: 480px) */
@media (max-width: 480px) {
    /* ... کدهای قبلی ... */

    .partner-item {
        width: 70px; /* کاهش عرض در موبایل خیلی کوچک */
    }
    .partner-logo-svg,
    .logo-wall img {
        height: 60px;
        width: 60px;
        padding: 8px;
    }
    .partner-name {
        font-size: 0.75rem;
    }
    /* ... بقیه کدهای media query 480px ... */
}

/* **مخفی کردن اسکرول‌بار (اختیاری) - این کدها باید در انتهای فایل باشند** */
.product-grid::-webkit-scrollbar, .project-grid::-webkit-scrollbar,
.testimonial-grid::-webkit-scrollbar, .logo-wall::-webkit-scrollbar {
    display: none;
}
.product-grid, .project-grid, .testimonial-grid, .logo-wall {
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
}

/* ... کدهای قبلی CSS شما (فایل کامل) ... */

/* **Blog List Page Styles** */
.blog-posts-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); /* 300px حداقل عرض برای هر پست */
    gap: 2rem;
    margin-bottom: 3rem;
}

.blog-post-card {
    background-color: var(--bg-light);
    border-radius: 12px;
    border: 1px solid var(--border-color);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease-in-out;
    height: 100%; /* برای همترازی کارت‌ها */
}
.blog-post-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
    border-color: var(--accent-primary);
}

.blog-post-image {
    width: 100%;
    height: 200px; /* ارتفاع ثابت برای عکس کاور وبلاگ */
    overflow: hidden;
}
.blog-post-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px; /* گوشه‌های گرد برای عکس */
    transition: transform 0.4s ease;
}
.blog-post-card:hover .blog-post-image img {
    transform: scale(1.05);
}

.blog-post-content {
    padding: 1.5rem;
    flex-grow: 1; /* محتوا فضای باقی مانده را پر کند */
    display: flex;
    flex-direction: column;
}
.blog-post-content h3 {
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-size: 1.5rem;
}
.blog-post-content h3 a {
    color: var(--text-primary);
    transition: color 0.3s;
}
.blog-post-content h3 a:hover {
    color: var(--accent-primary);
}
.blog-meta {
    color: var(--text-secondary);
    font-size: 0.85rem;
    margin-bottom: 1rem;
}
.blog-post-content p {
    color: var(--text-secondary);
    line-height: 1.7;
    font-size: 0.95rem;
    flex-grow: 1; /* متن پاراگراف فضای خالی را پر کند */
}
.blog-post-content .btn {
    align-self: flex-end; /* دکمه به پایین و راست چسبیده باشد */
    margin-top: 1rem;
    padding: 0.6rem 1.2rem;
    font-size: 0.9rem;
}


/* **Blog Detail Page Styles** */
.blog-detail-post-container {
    background: var(--bg-light);
    padding: 2.5rem;
    border-radius: 12px;
    margin-bottom: 3rem;
    box-shadow: 0 5px 20px rgba(0,0,0,0.3);
}
.blog-detail-post-container .section-title {
    text-align: right;
    margin-bottom: 2rem;
}
.blog-detail-post-container .blog-meta {
    color: var(--text-secondary);
    font-size: 0.95rem;
    margin-top: 0.5rem;
}

.blog-main-image {
    width: 100%;
    max-width: 900px; /* حداکثر عرض برای عکس اصلی پست */
    height: 450px; /* ارتفاع ثابت برای عکس اصلی پست */
    object-fit: cover;
    border-radius: 8px;
    margin: 0 auto 2.5rem auto;
    display: block;
    border: 1px solid var(--border-color);
}

.blog-content-full {
    color: var(--text-secondary);
    line-height: 1.8;
    font-size: 1.1rem;
    /* استایل برای محتوای CKEditor */
}
.blog-content-full h1, .blog-content-full h2, .blog-content-full h3, .blog-content-full h4, .blog-content-full h5, .blog-content-full h6 {
    color: var(--text-primary);
    margin-top: 1.5rem;
    margin-bottom: 0.8rem;
    line-height: 1.3;
}
.blog-content-full ul, .blog-content-full ol {
    padding-right: 1.5rem; /* برای لیست ها */
    margin-bottom: 1rem;
}
.blog-content-full li {
    margin-bottom: 0.5rem;
}
.blog-content-full a {
    color: var(--accent-secondary);
}
.blog-content-full a:hover {
    color: var(--accent-primary);
}
.blog-content-full img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 1rem auto;
    border-radius: 8px;
    border: 1px solid var(--border-color);
}
.blog-content-full table {
    width: 100%;
    border-collapse: collapse;
    margin: 1rem 0;
}
.blog-content-full th, .blog-content-full td {
    border: 1px solid var(--border-color);
    padding: 0.8rem;
    text-align: right;
}
.blog-content-full th {
    background-color: var(--bg-dark);
    color: var(--accent-primary);
}

/* Comments Section */
.comments-section {
    margin-top: 2rem;
}
.comments-list {
    margin-top: 1.5rem;
}
.comment-item {
    background: var(--bg-dark);
    padding: 1.5rem;
    border-radius: 8px;
    margin-bottom: 1rem;
    border: 1px solid var(--border-color);
}
.comment-item p {
    margin: 0;
}
.comment-item p:not(:last-child) {
    margin-bottom: 0.5rem;
}


/* **Latest Blog Posts Snippet for Homepage** */
.latest-blog-posts-section {
    margin-top: 4rem; /* فاصله از بخش بالایی در صفحه اصلی */
}
.latest-posts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
}
.latest-post-card {
    background: var(--bg-light);
    padding: 1.5rem;
    border-radius: 12px;
    border: 1px solid var(--border-color);
    transition: all 0.3s ease-in-out;
    height: 100%; /* برای همترازی کارت‌ها */
    display: flex;
    flex-direction: column;
}
.latest-post-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 15px rgba(0,0,0,0.2);
    border-color: var(--accent-primary);
}
.latest-post-card img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 1rem;
    border: 1px solid var(--border-color);
}
.latest-post-card h4 {
    color: var(--text-primary);
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-size: 1.2rem;
    flex-grow: 1; /* عنوان فضای باقی مانده را پر کند */
}
.latest-post-card h4 a {
    color: inherit;
    transition: color 0.3s;
}
.latest-post-card h4 a:hover {
    color: var(--accent-primary);
}
.latest-post-card p {
    color: var(--text-secondary);
    font-size: 0.9em;
    line-height: 1.6;
    margin-bottom: 1rem;
    flex-grow: 1; /* متن خلاصه فضای باقی مانده را پر کند */
}
.latest-post-card .btn {
    align-self: flex-end;
    margin-top: auto; /* به پایین چسبانده شود */
    padding: 0.5rem 1rem;
    font-size: 0.85rem;
    display: inline-block;
}


/* --- Media Queries (برای ریسپانسیو وبلاگ) --- */

/* Tablet (max-width: 992px) */
@media (max-width: 992px) {
    /* ... کدهای قبلی ... */

    .blog-posts-list {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: 1.5rem;
    }
    .blog-post-image {
        height: 180px;
    }
    .blog-post-content {
        padding: 1.2rem;
    }
    .blog-post-content h3 {
        font-size: 1.3rem;
    }
    .blog-meta {
        font-size: 0.8rem;
    }
    .blog-post-content p {
        font-size: 0.9rem;
    }
    .blog-detail-post-container {
        padding: 2rem;
    }
    .blog-main-image {
        height: 350px;
    }
    .blog-content-full {
        font-size: 1rem;
    }
    .comment-item {
        padding: 1.2rem;
    }
    .latest-posts-grid {
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    }
    .latest-post-card img {
        height: 150px;
    }
}

/* Mobile (max-width: 768px) */
@media (max-width: 768px) {
    /* ... کدهای قبلی ... */

    .blog-posts-list {
        grid-template-columns: 1fr; /* در موبایل هر پست یک ردیف باشد */
        gap: 1.5rem;
    }
    .blog-post-image {
        height: 160px;
    }
    .blog-post-content h3 {
        font-size: 1.2rem;
    }
    .blog-meta {
        font-size: 0.75rem;
    }
    .blog-post-content p {
        font-size: 0.85rem;
    }
    .blog-detail-post-container {
        padding: 1.5rem;
    }
    .blog-main-image {
        height: 280px;
    }
    .blog-content-full {
        font-size: 0.95rem;
    }
    .comment-item {
        padding: 1rem;
    }
    .latest-posts-grid {
        grid-template-columns: 1fr;
    }
    .latest-post-card img {
        height: 120px;
    }
}

/* Very Small Screens (max-width: 480px) */
@media (max-width: 480px) {
    /* ... کدهای قبلی ... */

    .blog-posts-list {
        gap: 1rem;
    }
    .blog-post-image {
        height: 140px;
    }
    .blog-post-content h3 {
        font-size: 1.1rem;
    }
    .blog-post-content p {
        font-size: 0.8rem;
    }
    .blog-detail-post-container {
        padding: 1rem;
    }
    .blog-main-image {
        height: 200px;
    }
    .latest-posts-grid {
        gap: 1rem;
    }
    .latest-post-card img {
        height: 100px;
    }
}


/* ... کدهای قبلی CSS شما (فایل کامل) ... */

/* **Blog List Page Styles** */
.blog-posts-list {
    display: grid; /* در دسکتاپ از گرید استفاده می کنیم */
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-bottom: 3rem;
}

/* **استایل برای لینک کارت پست وبلاگ (مشابه پروژه ها)** */
.blog-post-card-link {
    text-decoration: none;
    color: inherit;
    display: block;
    height: 100%; /* برای همترازی کارت‌ها در یک ردیف گرید */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.blog-post-card-link:hover {
    transform: translateY(-8px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
    z-index: 1; /* برای اطمینان از اینکه در هاور روی بقیه می آید */
}

.blog-post-card {
    background-color: var(--bg-light);
    border-radius: 12px;
    border: 1px solid var(--border-color);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    /* transition: all 0.3s ease-in-out; <--- این را حذف کنید و به لینک منتقل کنید */
    height: 100%; /* برای اینکه فرزند blog-post-card-link ارتفاع 100% را بگیرد */
}
.blog-post-card:hover {
    /* transform و box-shadow را حذف کنید چون به blog-post-card-link منتقل شده اند */
    border-color: var(--accent-primary);
}

.blog-post-image {
    width: 100%;
    height: 200px; /* ارتفاع ثابت برای عکس کاور وبلاگ در دسکتاپ */
    overflow: hidden;
}
.blog-post-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px; /* گوشه‌های گرد برای عکس */
    transition: transform 0.4s ease;
}
.blog-post-card:hover .blog-post-image img {
    transform: scale(1.05);
}

/* ... بقیه کدهای .blog-post-content ... */


/* --- Media Queries --- */

/* Tablet (max-width: 992px) */
@media (max-width: 992px) {
    /* ... کدهای قبلی ... */

    /* **مهم: برای تبلت، اسکرول افقی را فعال می کنیم** */
    .blog-posts-list {
        display: flex; /* تغییر به Flex برای اسکرول افقی */
        overflow-x: auto; /* فعال کردن اسکرول افقی */
        scroll-snap-type: x mandatory; /* اسنپ کردن آیتم ها */
        padding-bottom: 1.5rem; /* فاصله برای اسکرول بار */
        gap: 1.5rem; /* فاصله بین کارت ها */
        flex-wrap: nowrap; /* جلوگیری از شکستن به سطر بعدی */
    }
    .blog-post-card-link { /* لینک کارت وبلاگ */
        flex-shrink: 0; /* جلوگیری از کوچک شدن */
        flex-basis: 85%; /* هر کارت 85% عرض کانتینر خود را بگیرد */
        min-width: 300px; /* حداقل عرض برای جلوگیری از بیش از حد کوچک شدن */
        scroll-snap-align: center; /* اسنپ شدن کارت در مرکز */
        /* height: auto !important; */ /* در موبایل ارتفاع را auto کنید اگر محتوا متغیر است */
        /* width: auto !important; */ /* در موبایل عرض را auto کنید */
    }
    .blog-post-image {
        height: 180px; /* ارتفاع فریم کمتر در تبلت */
    }

    /* ... بقیه کدهای media query 992px ... */
}

/* Mobile (max-width: 768px) */
@media (max-width: 768px) {
    /* ... کدهای قبلی ... */

    .blog-post-card-link {
        flex-basis: 95%; /* تقریباً تمام عرض صفحه را بگیرند */
        min-width: 280px; /* حداقل عرض برای موبایل */
    }
    .blog-post-image {
        height: 160px; /* ارتفاع فریم کمتر در موبایل */
    }

    /* ... بقیه کدهای media query 768px ... */
}

/* Very Small Screens (max-width: 480px) */
@media (max-width: 480px) {
    /* ... کدهای قبلی ... */

    .blog-post-card-link {
        flex-basis: 100%; /* تمام عرض صفحه را بگیرند */
        min-width: 250px; /* حداقل عرض کمتر برای صفحه‌های خیلی کوچک */
    }
    .blog-post-image {
        height: 140px; /* ارتفاع فریم کمتر در موبایل خیلی کوچک */
    }
    /* ... بقیه کدهای media query 480px ... */
}

/* ... کدهای قبلی CSS شما (فایل کامل) ... */

/* **Latest Blog Posts Snippet for Homepage** */
.latest-blog-posts-section {
    margin-top: 4rem; /* فاصله از بخش بالایی در صفحه اصلی */
}
.latest-posts-grid {
    display: grid; /* در دسکتاپ از گرید استفاده می کنیم */
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
}

/* **استایل برای لینک کارت پست وبلاگ در ایندکس (latest-post-card-link)** */
.latest-post-card-link {
    text-decoration: none;
    color: inherit;
    display: block;
    height: 100%; /* برای همترازی کارت‌ها در یک ردیف گرید */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.latest-post-card-link:hover {
    transform: translateY(-8px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
    z-index: 1; /* برای اطمینان از اینکه در هاور روی بقیه می آید */
}

.latest-post-card {
    background: var(--bg-light);
    padding: 1.5rem;
    border-radius: 12px;
    border: 1px solid var(--border-color);
    /* transition: all 0.3s ease-in-out; <--- این را حذف کنید و به latest-post-card-link منتقل کنید */
    height: 100%; /* برای اینکه فرزند latest-post-card-link ارتفاع 100% را بگیرد */
    display: flex;
    flex-direction: column;
}
.latest-post-card:hover {
    /* transform و box-shadow را حذف کنید چون به latest-post-card-link منتقل شده اند */
    border-color: var(--accent-primary);
}
/* img داخلی این کارت در HTML با inline style ابعاد را می گیرد */

.latest-post-card h4 {
    color: var(--text-primary);
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-size: 1.2rem;
    flex-grow: 1;
}
.latest-post-card h4 a {
    color: inherit;
    transition: color 0.3s;
}
.latest-post-card h4 a:hover {
    color: var(--accent-primary);
}
.latest-post-card p {
    color: var(--text-secondary);
    font-size: 0.9em;
    line-height: 1.6;
    margin-bottom: 1rem;
    flex-grow: 1;
}
.latest-post-card .btn {
    align-self: flex-end;
    margin-top: auto;
    padding: 0.5rem 1rem;
    font-size: 0.85rem;
    display: inline-block;
}


/* --- Media Queries --- */

/* Tablet (max-width: 992px) */
@media (max-width: 992px) {
    /* ... کدهای قبلی ... */

    /* Horizontal Scrolling for Cards (Tablet) */
    /* مطمئن شوید که latest-posts-grid هم در این حالت افقی اسکرول شود */
    .latest-posts-grid {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        padding-bottom: 1.5rem;
        gap: 1.5rem;
        flex-wrap: nowrap;
    }
    .latest-post-card-link { /* لینک کارت وبلاگ در ایندکس */
        flex-shrink: 0;
        flex-basis: 85%; /* هر کارت 85% عرض کانتینر خود را بگیرد */
        min-width: 300px; /* حداقل عرض برای جلوگیری از بیش از حد کوچک شدن */
        scroll-snap-align: center; /* اسنپ شدن کارت در مرکز */
        height: auto !important; /* **مهم: ارتفاع را در موبایل خودکار کن** */
        width: auto !important; /* **مهم: عرض را در موبایل خودکار کن** */
    }
    .latest-post-card img {
        height: 150px; /* ارتفاع عکس داخلی در موبایل */
    }

    /* ... بقیه کدهای media query 992px ... */
}

/* Mobile (max-width: 768px) */
@media (max-width: 768px) {
    /* ... کدهای قبلی ... */

    .latest-post-card-link {
        flex-basis: 95%; /* تقریباً تمام عرض صفحه را بگیرند */
        min-width: 280px; /* حداقل عرض برای موبایل */
    }
    .latest-post-card img {
        height: 120px; /* ارتفاع عکس داخلی در موبایل */
    }

    /* ... بقیه کدهای media query 768px ... */
}

/* Very Small Screens (max-width: 480px) */
@media (max-width: 480px) {
    /* ... کدهای قبلی ... */

    .latest-post-card-link {
        flex-basis: 100%; /* تمام عرض صفحه را بگیرند */
        min-width: 250px; /* حداقل عرض کمتر برای صفحه‌های خیلی کوچک */
    }
    .latest-post-card img {
        height: 100px; /* ارتفاع عکس داخلی در موبایل */
    }

    /* ... بقیه کدهای media query 480px ... */
}

/* ... کدهای قبلی CSS شما (فایل کامل) ... */

/* **Latest Blog Posts Snippet for Homepage** */
.latest-blog-posts-section {
    margin-top: 4rem;
}
.latest-posts-grid {
    display: grid; /* استفاده از گرید برای چیدمان دسکتاپ */
    /* **مهم: تنظیم دقیق grid-template-columns برای نمایش 3 ستون** */
    /* اینجا 1fr 1fr 1fr استفاده می کنیم تا فضا به طور مساوی بین 3 ستون تقسیم شود */
    /* یا می توانید از repeat(3, 1fr) استفاده کنید. */
    grid-template-columns: repeat(3, 1fr); 
    gap: 1.5rem; /* فاصله بین آیتم‌ها */
    /* اگر کارت‌ها عرض ثابتی (مثل 350px) دارند، نیازی به minmax نیست */
    /* اگر می‌خواهید با عرض ثابت باشند، مطمئن شوید که 3 * (350px + gap) از عرض container کوچکتر باشد */
}

/* **مهم: استایل latest-post-card-link (برای دسکتاپ)** */
/* این استایل ها باید در اینجا تعریف شوند تا override کننده inline نباشند، */
/* اما اگر inline را برای تست نگه داشته اید، inline اولویت دارد. */
/* اگر می خواهید از این لاین برای کنترل مطلق استفاده کنید، پس باید اطمینان حاصل کنید */
/* که عرض 3 کارت + 2 فاصله (gap) از max-width کانتینر شما تجاوز نکند. */
/* اگر 3 * 350px (کارت) + 2 * 1.5rem (فاصله) > 1200px (کانتینر), آنگاه 3 کارت جا نمی شوند. */
/* با 350px کارت، 3 تا با فاصله 1.5rem = 3*350 + 2*24 = 1050 + 48 = 1098px. این در 1200px جا می شود. */
/* پس مشکل شاید در html یا تداخل دیگر باشد. */


/* --- Media Queries --- */

/* Tablet (max-width: 992px) */
@media (max-width: 992px) {
    /* ... کدهای قبلی ... */

    /* Horizontal Scrolling for Cards (Tablet) */
    .latest-posts-grid {
        display: flex; /* تغییر به Flex برای اسکرول افقی */
        overflow-x: auto; /* فعال کردن اسکرول افقی */
        scroll-snap-type: x mandatory;
        padding-bottom: 1.5rem;
        gap: 1.5rem;
        flex-wrap: nowrap; /* جلوگیری از شکستن به سطر بعدی */
    }
    /* **مهم: استایل latest-post-card-link در موبایل/تبلت** */
    .latest-post-card-link {
        flex-shrink: 0;
        flex-basis: 85%; /* هر کارت 85% عرض کانتینر خود را بگیرد */
        min-width: 300px; /* حداقل عرض برای جلوگیری از بیش از حد کوچک شدن */
        scroll-snap-align: center;
        height: auto !important; /* ارتفاع را در موبایل خودکار کن */
        width: auto !important; /* عرض را در موبایل خودکار کن */
    }
    /* ... بقیه کدهای media query 992px ... */
}

/* Mobile (max-width: 768px) */
@media (max-width: 768px) {
    /* ... کدهای قبلی ... */

    .latest-post-card-link {
        flex-basis: 95%; /* تقریباً تمام عرض صفحه را بگیرند */
        min-width: 280px;
    }
    /* ... بقیه کدهای media query 768px ... */
}

/* Very Small Screens (max-width: 480px) */
@media (max-width: 480px) {
    /* ... کدهای قبلی ... */

    .latest-post-card-link {
        flex-basis: 100%; /* تمام عرض صفحه را بگیرند */
        min-width: 250px;
    }
    /* ... بقیه کدهای media query 480px ... */
}

/* --- Header & Nav --- */
.main-header {
    background: rgba(17, 24, 39, 0.95);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    width: 100%;
    z-index: 999;
    position: relative;
    box-shadow: 0 2px 15px rgba(0,0,0,0.3);
    padding: 0.8rem 0;
}
.main-header.sticky {
    position: sticky;
    top: 0;
    transition: all 0.3s ease-in-out;
}
.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    height: 60px;
    position: relative;
}
.logo {
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--text-primary);
    letter-spacing: -0.05em;
    transition: color 0.3s ease;
    z-index: 1001; /* بالاتر از همه چیز */
}
.logo:hover {
    color: var(--accent-primary);
}

/* ناوبری دسکتاپ */
.nav-menu { /* شامل nav-links و nav-auth (موبایل) */
    display: flex; /* پیش فرض در دسکتاپ فلکس باشد */
    align-items: center;
    gap: 2.5rem;
}
.nav-menu .nav-links { /* لینک های اصلی (هم در دسکتاپ و هم در موبایل) */
    display: flex; /* پیش فرض در دسکتاپ فلکس باشد */
    gap: 2.5rem;
}
.nav-menu .nav-links a {
    color: var(--text-secondary);
    font-weight: 500;
    font-size: 1.05rem;
    position: relative;
    padding: 0.5rem 0;
    transition: color 0.3s ease;
}
.nav-menu .nav-links a:hover,
.nav-menu .nav-links a.active {
    color: var(--text-primary);
}
.nav-menu .nav-links a::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0%;
    height: 2px;
    background-color: var(--accent-primary);
    transition: width 0.3s ease-out;
}
.nav-menu .nav-links a:hover::after,
.nav-menu .nav-links a.active::after {
    width: 100%;
}

/* **مهم: پنهان کردن بخش دکمه های موبایل در دسکتاپ** */
.nav-menu .nav-auth {
    display: none !important; /* **مهم: با !important تضمین می کنیم که در دسکتاپ پنهان بماند** */
}

/* دکمه فراخوان (CTA) و احراز هویت دسکتاپ */
.nav-auth-desktop {
    display: flex !important; /* **مهم: با !important تضمین می کنیم که در دسکتاپ نمایش یابد** */
    align-items: center;
    gap: 1rem;
}
.nav-cta {
    background: var(--accent-primary);
    color: var(--bg-dark);
    padding: 0.7rem 1.6rem;
    border-radius: 8px;
    font-weight: 600;
    font-size: 1rem;
    transition: all 0.3s ease;
    white-space: nowrap;
}
.nav-cta:hover {
    background: #FCD34D;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(251, 191, 36, 0.2);
}
.nav-auth-desktop .btn-secondary {
    padding: 0.7rem 1.6rem;
    border: 2px solid var(--border-color);
    font-size: 1rem;
}
.nav-auth-desktop .btn-secondary:hover {
    background-color: var(--border-color);
}


/* Mobile Navigation (Hamburger Menu) */
.nav-toggle {
    display: none;
}
.nav-toggle-label {
    display: none; /* پیش‌فرض: پنهان (فقط در موبایل نمایش یابد) */
    position: absolute;
    top: 0;
    left: 0;
    margin-left: 1.5rem;
    height: 100%;
    width: 40px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 1002;
}
.nav-toggle-label span,
.nav-toggle-label span::before,
.nav-toggle-label span::after {
    display: block;
    background: var(--text-primary);
    height: 2px;
    width: 2em;
    border-radius: 2px;
    position: relative;
    transition: all 0.3s ease-in-out;
}
.nav-toggle-label span::before,
.nav-toggle-label span::after {
    content: '';
    position: absolute;
}
.nav-toggle-label span::before {
    bottom: 7px;
}
.nav-toggle-label span::after {
    top: 7px;
}
.nav-toggle:checked ~ .nav-toggle-label span {
    transform: rotate(45deg);
}
.nav-toggle:checked ~ .nav-toggle-label span::before {
    transform: rotate(90deg);
    bottom: 0;
}
.nav-toggle:checked ~ .nav-toggle-label span::after {
    transform: rotate(90deg);
    top: 0;
}

/* Mobile Specific Styles (Applies at 768px and below) */
@media (max-width: 992px) {
    .nav-menu .nav-links {
        gap: 1.5rem;
    }
    .nav-auth-desktop {
        gap: 0.8rem;
    }
    .nav-cta, .nav-auth-desktop .btn-secondary {
        padding: 0.6rem 1.2rem;
        font-size: 0.9rem;
    }
}

@media (max-width: 768px) {
    .main-header {
        padding: 0.5rem 0;
        height: auto;
    }
    .navbar {
        height: auto;
        padding: 0.8rem 0;
    }
    .logo {
        font-size: 1.8rem;
        position: relative;
        z-index: 1001;
    }

    /* Hamburger Menu Fullscreen Overlay */
    .nav-menu {
        position: fixed;
        top: 0;
        right: 0;
        height: 100vh;
        width: 100vw;
        background-color: var(--bg-dark);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
        transform: translateX(100%);
        transition: transform 0.4s ease-in-out;
        gap: 2.5rem;
        z-index: 1000;
        overflow-y: auto;
        padding: 80px 0;
        box-sizing: border-box;
    }
    .nav-menu .nav-links {
        flex-direction: column;
        gap: 1.8rem;
        margin-bottom: 2.5rem;
    }
    .nav-menu .nav-links a {
        font-size: 1.8rem;
        padding: 0.8rem 0;
        color: var(--text-primary);
    }
    .nav-menu .nav-links a::after {
        background-color: var(--accent-primary);
        height: 3px;
    }

    /* **مهم: نمایش دکمه‌های nav-auth در موبایل (وقتی منو باز است)** */
    .nav-menu .nav-auth {
        display: none; /* پیش فرض: پنهان */
        flex-direction: column;
        gap: 1.2rem;
        width: 80%;
        max-width: 300px;
        margin-top: 1rem;
    }
    .nav-toggle:checked ~ .navbar .nav-menu .nav-auth {
        display: flex !important; /* **مهم: با !important تضمین می کنیم که نمایش یابد** */
    }

    /* **مهم: پنهان کردن nav-auth-desktop در موبایل** */
    .nav-cta, .nav-auth-desktop {
        display: none !important; /* **مهم: با !important تضمین می کنیم که پنهان بماند** */
    }
    /* نمایش دکمه همبرگری */
    .nav-toggle-label {
        display: flex;
        z-index: 1002;
    }
    /* وقتی منو باز می شود */
    .nav-toggle:checked ~ .navbar .nav-menu {
        transform: translateX(0);
    }
}

/* Very Small Screens (max-width: 480px) */
@media (max-width: 480px) {
    .logo {
        font-size: 1.5rem;
    }
    .nav-toggle-label {
        margin-left: 1rem;
    }
    .nav-menu .nav-links a {
        font-size: 1.5rem;
    }
    .nav-menu .nav-auth {
        width: 90%;
        max-width: 250px;
    }
    /* .nav-cta, .nav-auth-desktop .btn-secondary { /* اینها در 768px پنهان شده اند */
    /* padding: 0.5rem 1rem; */
    /* font-size: 0.85rem; */
    /* } */
}
/* --- General Components --- */
/* ... کدهای قبلی ... */

.btn {
    padding: 0.8rem 1.8rem; /* پدینگ پیش‌فرض برای دسکتاپ */
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    transition: all 0.3s;
    display: inline-block;
    white-space: nowrap; /* جلوگیری از شکستن متن دکمه */
    font-size: 1rem; /* فونت‌سایز پیش‌فرض برای دسکتاپ */
    box-sizing: border-box; /* برای جلوگیری از بیرون‌زدگی به دلیل پدینگ */
}
.btn-primary {
    background-color: var(--accent-primary);
    color: var(--bg-dark);
}
.btn-primary:hover {
    background-color: #FCD34D;
    transform: translateY(-3px);
    box-shadow: 0 4px 10px rgba(251, 191, 36, 0.2);
}
.btn-secondary {
    background-color: transparent;
    color: var(--text-primary);
    border: 2px solid var(--border-color);
}
.btn-secondary:hover {
    background-color: var(--border-color);
}

.section-cta-container {
    text-align: center;
    margin-top: 4rem; /* پدینگ پیش‌فرض دسکتاپ */
}


/* --- Hero Section --- */
/* ... کدهای قبلی Hero Section ... */

.hero-buttons {
    display: flex;
    justify-content: center;
    gap: 1rem; /* فاصله بین دکمه‌ها در دسکتاپ */
}


/* ================================================= */
/* ================= RESPONSIVE DESIGN ============= */
/* ================================================= */

/* Mobile (max-width: 768px) */
@media (max-width: 768px) {
    /* ... کدهای قبلی ... */

    /* **اصلاح دکمه‌ها در Hero Section و General CTA** */
    .hero-buttons {
        flex-direction: column; /* دکمه‌ها زیر هم قرار گیرند */
        align-items: center; /* وسط چین شوند */
        gap: 0.8rem; /* کاهش فاصله بین دکمه‌ها */
    }
    .hero-buttons .btn {
        width: 90%; /* عرض 90% کانتینر والد */
        max-width: 280px; /* حداکثر عرض برای جلوگیری از بیش از حد بزرگ شدن */
        padding: 0.7rem 1.5rem; /* کاهش پدینگ */
        font-size: 0.95rem; /* کاهش فونت‌سایز */
        text-align: center; /* متن دکمه وسط چین باشد */
    }

    /* دکمه مشاهده همه مقالات (در latest-blog-posts-snippet) */
    .latest-blog-posts-section .btn-primary { /* فقط دکمه اصلی در این بخش */
        width: 90%; /* عرض 90% کانتینر والد */
        max-width: 280px; /* حداکثر عرض */
        padding: 0.7rem 1.5rem; /* کاهش پدینگ */
        font-size: 0.95rem; /* کاهش فونت‌سایز */
        margin-top: 2rem; /* فاصله از بالای دکمه */
    }

    /* دکمه‌های مشاهده همه محصولات/پروژه‌ها (section-cta-container) */
    .section-cta-container .btn {
        width: 90%;
        max-width: 280px;
        padding: 0.7rem 1.5rem;
        font-size: 0.95rem;
    }

    /* ... بقیه کدهای media query 768px ... */
}

/* Very Small Screens (max-width: 480px) */
@media (max-width: 480px) {
    /* ... کدهای قبلی ... */

    /* دکمه‌ها در Hero Section و General CTA برای صفحه‌های خیلی کوچک */
    .hero-buttons .btn {
        width: 100%; /* تمام عرض را بگیرند */
        max-width: none;
        padding: 0.6rem 1rem;
        font-size: 0.9rem;
    }
    .latest-blog-posts-section .btn-primary {
        width: 100%;
        max-width: none;
        padding: 0.6rem 1rem;
        font-size: 0.9rem;
    }
    .section-cta-container .btn {
        width: 100%;
        max-width: none;
        padding: 0.6rem 1rem;
        font-size: 0.9rem;
    }
}
/* --- General Components --- */
/* ... کدهای قبلی ... */

.btn {
    padding: 0.8rem 1.8rem; /* پدینگ پیش‌فرض برای دسکتاپ */
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    transition: all 0.3s;
    display: inline-block;
    white-space: nowrap; /* جلوگیری از شکستن متن دکمه */
    font-size: 1rem; /* فونت‌سایز پیش‌فرض برای دسکتاپ */
    box-sizing: border-box; /* برای جلوگیری از بیرون‌زدگی به دلیل پدینگ */
}
.btn-primary {
    background-color: var(--accent-primary);
    color: var(--bg-dark);
}
.btn-primary:hover {
    background-color: #FCD34D;
    transform: translateY(-3px);
    box-shadow: 0 4px 10px rgba(251, 191, 36, 0.2);
}
.btn-secondary {
    background-color: transparent;
    color: var(--text-primary);
    border: 2px solid var(--border-color);
}
.btn-secondary:hover {
    background-color: var(--border-color);
}

.section-cta-container {
    text-align: center;
    margin-top: 4rem; /* پدینگ پیش‌فرض دسکتاپ */
}


/* --- Hero Section --- */
/* ... کدهای قبلی Hero Section ... */

.hero-buttons {
    display: flex;
    justify-content: center;
    gap: 1rem; /* فاصله بین دکمه‌ها در دسکتاپ */
}


/* ================================================= */
/* ================= RESPONSIVE DESIGN ============= */
/* ================================================= */

/* Mobile (max-width: 768px) */
@media (max-width: 768px) {
    /* ... کدهای قبلی ... */

    /* **اصلاح دکمه‌ها در Hero Section و General CTA** */
    .hero-buttons {
        flex-direction: column; /* دکمه‌ها زیر هم قرار گیرند */
        align-items: center; /* وسط چین شوند */
        gap: 0.8rem; /* کاهش فاصله بین دکمه‌ها */
    }
    .hero-buttons .btn {
        width: 90%; /* عرض 90% کانتینر والد */
        max-width: 280px; /* حداکثر عرض برای جلوگیری از بیش از حد بزرگ شدن */
        padding: 0.7rem 1.5rem; /* کاهش پدینگ */
        font-size: 0.95rem; /* کاهش فونت‌سایز */
        text-align: center; /* متن دکمه وسط چین باشد */
    }

    /* دکمه مشاهده همه مقالات (در latest-blog-posts-snippet) */
    .latest-blog-posts-section .btn-primary { /* فقط دکمه اصلی در این بخش */
        width: 90%; /* عرض 90% کانتینر والد */
        max-width: 280px; /* حداکثر عرض */
        padding: 0.7rem 1.5rem; /* کاهش پدینگ */
        font-size: 0.95rem; /* کاهش فونت‌سایز */
        margin-top: 2rem; /* فاصله از بالای دکمه */
    }

    /* دکمه‌های مشاهده همه محصولات/پروژه‌ها (section-cta-container) */
    .section-cta-container .btn {
        width: 90%;
        max-width: 280px;
        padding: 0.7rem 1.5rem;
        font-size: 0.95rem;
    }

    /* ... بقیه کدهای media query 768px ... */
}

/* Very Small Screens (max-width: 480px) */
@media (max-width: 480px) {
    /* ... کدهای قبلی ... */

    /* دکمه‌ها در Hero Section و General CTA برای صفحه‌های خیلی کوچک */
    .hero-buttons .btn {
        width: 100%; /* تمام عرض را بگیرند */
        max-width: none;
        padding: 0.6rem 1rem;
        font-size: 0.9rem;
    }
    .latest-blog-posts-section .btn-primary {
        width: 100%;
        max-width: none;
        padding: 0.6rem 1rem;
        font-size: 0.9rem;
    }
    .section-cta-container .btn {
        width: 100%;
        max-width: none;
        padding: 0.6rem 1rem;
        font-size: 0.9rem;
    }
}
/* ... کدهای قبلی CSS ... */

/* Dashboard Specific Styles (Profile Page) */
.dashboard-wrapper {
    /* contact-wrapper را override می کند */
    padding: 2rem;
    background-color: var(--bg-light); /* پس زمینه داشبورد */
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.3);
}

.dashboard-tabs {
    display: flex;
    justify-content: center;
    margin-bottom: 2rem;
    gap: 1rem;
    flex-wrap: wrap; /* برای ریسپانسیو بودن تب ها */
}

.tab-button {
    background-color: var(--bg-dark);
    color: var(--text-secondary);
    border: 1px solid var(--border-color);
    padding: 0.8rem 1.5rem;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 500;
    font-family: var(--font-family);
    white-space: nowrap;
}

.tab-button:hover {
    background-color: var(--border-color);
    color: var(--text-primary);
}

.tab-button.active {
    background-color: var(--accent-primary);
    color: var(--bg-dark);
    border-color: var(--accent-primary);
    box-shadow: 0 2px 8px rgba(251, 191, 36, 0.2);
}

.tab-button.active:hover {
    background-color: #FCD34D;
}

.tab-content {
    display: none; /* پیش فرض: پنهان */
    animation: fadeIn 0.5s ease-out; /* انیمیشن برای تغییر تب */
}

.tab-content.active {
    display: block; /* فقط تب فعال نمایش داده شود */
}

/* Orders List Styles */
.orders-list .order-item,
.tickets-list .ticket-item {
    background: var(--bg-dark);
    padding: 1.5rem;
    border-radius: 8px;
    margin-bottom: 1rem;
    border: 1px solid var(--border-color);
}
.orders-list .order-item p,
.tickets-list .ticket-item p {
    margin: 0;
    line-height: 1.7;
    color: var(--text-secondary);
}
.orders-list .order-item p strong,
.tickets-list .ticket-item p strong {
    color: var(--text-primary);
    min-width: 120px; /* برای هم ترازی لیبل ها */
    display: inline-block;
    text-align: right;
    margin-left: 0.5rem;
}
.orders-list .order-item ul {
    list-style: disc;
    margin-right: 1.5rem;
    color: var(--text-secondary);
    font-size: 0.95rem;
}
.orders-list .order-item ul li {
    margin-bottom: 0.3rem;
}
.orders-list .order-item h4 {
    color: var(--text-primary);
    font-size: 1rem;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
}

/* Ticket Detail Page Styles */
.ticket-info-summary {
    background: var(--bg-dark);
    padding: 1.5rem;
    border-radius: 8px;
    margin-bottom: 2rem;
    border: 1px solid var(--border-color);
}
.ticket-info-summary p {
    margin: 0;
    line-height: 1.7;
    color: var(--text-secondary);
}
.ticket-info-summary p strong {
    color: var(--text-primary);
    min-width: 120px;
    display: inline-block;
    text-align: right;
    margin-left: 0.5rem;
}

.ticket-messages-list {
    margin-top: 1.5rem;
}
.message-item {
    background: var(--bg-dark);
    padding: 1.5rem;
    border-radius: 8px;
    margin-bottom: 1rem;
    border: 1px solid var(--border-color);
}
.message-item p {
    margin: 0;
    line-height: 1.6;
    color: var(--text-secondary);
}
.message-item p:first-child { /* نام فرستنده */
    color: var(--text-primary);
    font-weight: 600;
    margin-bottom: 0.5rem;
}
.message-item p:nth-child(2) { /* تاریخ */
    font-size: 0.9em;
    margin-bottom: 0.8rem;
}

/* Responsive adjustments for Dashboard and Tabs */
@media (max-width: 992px) {
    .dashboard-tabs {
        flex-direction: column; /* در تبلت ها دکمه های تب زیر هم باشند */
        gap: 0.8rem;
    }
    .tab-button {
        width: 100%; /* تمام عرض را بگیرند */
        text-align: center;
    }
}

@media (max-width: 768px) {
    .dashboard-wrapper {
        padding: 1.5rem;
    }
    .dashboard-tabs {
        gap: 0.6rem;
    }
    .tab-button {
        font-size: 0.9em;
        padding: 0.6rem 1rem;
    }
    .orders-list .order-item,
    .tickets-list .ticket-item,
    .ticket-info-summary,
    .message-item {
        padding: 1rem;
    }
    .orders-list .order-item p strong,
    .tickets-list .ticket-item p strong,
    .ticket-info-summary p strong {
        min-width: 90px;
        font-size: 0.95rem;
    }
}

@media (max-width: 480px) {
    .dashboard-wrapper {
        padding: 1rem;
    }
    .tab-button {
        font-size: 0.85em;
        padding: 0.5rem 0.8rem;
    }
    .orders-list .order-item p,
    .tickets-list .ticket-item p,
    .ticket-info-summary p,
    .message-item p {
        font-size: 0.85rem;
    }
}

/* --- Table Styles (برای جداول داشبورد و غیره) --- */

.table-responsive {
    overflow-x: auto; /* برای اسکرول افقی در جداول در موبایل */
    margin-bottom: 1.5rem; /* فاصله از پایین جدول */
    border-radius: 8px; /* گوشه‌های گرد برای کانتینر جدول */
    border: 1px solid var(--border-color); /* بردر برای کانتینر جدول */
}

.table {
    width: 100%;
    margin-bottom: 0; /* margin پایین را صفر می کنیم تا با table-responsive هماهنگ باشد */
    color: var(--text-primary); /* رنگ متن اصلی جدول */
    border-collapse: collapse; /* حذف فاصله بین سلول ها */
}

.table th,
.table td {
    padding: 0.8rem 1rem; /* پدینگ سلول ها */
    vertical-align: middle; /* هم ترازی عمودی وسط */
    border-top: 1px solid var(--border-color); /* خط جداکننده بالا */
    text-align: right; /* راست چین کردن متن در سلول ها */
    font-size: 0.95rem;
    line-height: 1.4;
}

.table thead th {
    vertical-align: bottom;
    border-bottom: 2px solid var(--border-color);
    color: var(--accent-primary); /* رنگ عنوان ستون ها */
    font-weight: 600;
    font-size: 1rem;
    background-color: var(--bg-dark); /* پس‌زمینه هدر جدول */
}

/* table-dark style (برای پس زمینه تیره و رنگ بندی اصلی) */
.table-dark {
    background-color: var(--bg-dark); /* پس‌زمینه کلی جدول */
}
.table-dark th {
    background-color: var(--bg-dark); /* پس‌زمینه هدر در table-dark */
    border-color: var(--border-color);
}
.table-dark td {
    background-color: var(--bg-dark); /* پس‌زمینه سلول‌ها در table-dark */
    border-color: var(--border-color);
}

/* table-striped style (برای خطوط متناوب) */
.table-striped tbody tr:nth-of-type(odd) {
    background-color: var(--bg-light); /* رنگ برای ردیف‌های فرد (روشن‌تر) */
}
.table-striped tbody tr:nth-of-type(even) {
    background-color: var(--bg-dark); /* رنگ برای ردیف‌های زوج (تیره تر) */
}


/* table-hover style (برای افکت هاور روی ردیف ها) */
.table-hover tbody tr:hover {
    background-color: var(--border-color); /* رنگ در هاور */
    cursor: pointer;
}

/* LTR Direction for specific content in RTL table */
.table td span[dir="ltr"],
.table td a[dir="ltr"] {
    direction: ltr;
    unicode-bidi: embed;
    text-align: left; /* متن LTR در داخل سلول به چپ بچسبد */
    display: inline-block; /* برای اعمال text-align: left */
    width: 100%; /* برای اینکه text-align: left درست کار کند */
}


/* Responsive Table Adjustments */
@media (max-width: 768px) {
    .table th,
    .table td {
        padding: 0.7rem 0.8rem;
        font-size: 0.9rem;
    }
    .table thead th {
        font-size: 0.95rem;
    }
}
@media (max-width: 480px) {
    .table th,
    .table td {
        padding: 0.6rem 0.7rem;
        font-size: 0.85rem;
    }
    .table thead th {
        font-size: 0.9rem;
    }
}
/* Custom CSS for mobile table layout */
@media screen and (max-width: 768px) { /* Adjust breakpoint as needed for mobile */
    .table-responsive.card-view table {
        border: none; /* Remove table borders */
    }

    .table-responsive.card-view thead {
        display: none; /* Hide table header on small screens */
    }

    .table-responsive.card-view tbody tr {
        display: block; /* Make table rows behave as block elements */
        margin-bottom: 1rem; /* Add space between cards */
        border: 1px solid var(--border-color, #444); /* Add border to each "card" */
        border-radius: 8px; /* Slightly rounded corners */
        background-color: var(--background-dark, #333); /* Background for cards */
        padding: 0.5rem;
    }

    .table-responsive.card-view tbody td {
        display: block; /* Make table cells behave as block elements */
        text-align: right; /* Align text to right (RTL) */
        border-bottom: 1px solid var(--border-color-light, #555); /* Separator for each data point */
        padding: 0.5rem 0.75rem;
        position: relative;
        padding-right: 120px; /* Space for the label */
        word-wrap: break-word; /* Prevent long words from overflowing */
    }

    .table-responsive.card-view tbody td:last-child {
        border-bottom: none; /* No border for the last data point in a card */
    }

    .table-responsive.card-view tbody td::before {
        content: attr(data-label); /* Use data-label attribute for the pseudo-element label */
        position: absolute;
        right: 0.75rem;
        top: 50%;
        transform: translateY(-50%);
        font-weight: bold;
        color: var(--accent-primary); /* Color for the label */
        width: 100px; /* Fixed width for labels */
        text-align: left; /* Align label text to left */
    }

    /* Adjust padding for action buttons */
    .table-responsive.card-view tbody td.actions-cell {
        padding-right: 0.75rem; /* No label for action cell */
        text-align: center;
    }
    .table-responsive.card-view tbody td.actions-cell::before {
        content: none; /* Hide label for action cell */
    }
}