.elementor-14871 .elementor-element.elementor-element-7137bb2{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:15px 40px;--row-gap:15px;--column-gap:40px;--padding-top:55px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-14871 .elementor-element.elementor-element-a0fbec6{--display:flex;}.elementor-widget-theme-post-featured-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-14871 .elementor-element.elementor-element-e20f139 img{width:100%;border-radius:10px 10px 10px 10px;}.elementor-14871 .elementor-element.elementor-element-0986c9a{--display:flex;--gap:0px 18px;--row-gap:0px;--column-gap:18px;}.elementor-widget-theme-post-title .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-14871 .elementor-element.elementor-element-4e6860d .elementor-heading-title{font-family:"IRANYekanX", Sans-serif;font-weight:700;text-transform:capitalize;}.elementor-widget-theme-post-excerpt{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-14871 .elementor-element.elementor-element-175fa28{font-family:"IRANYekanX", Sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#000000;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-14871 .elementor-element.elementor-element-8d37a70{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:15px 40px;--row-gap:15px;--column-gap:40px;--padding-top:20px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}.elementor-14871 .elementor-element.elementor-element-60d3e66{--display:flex;}.elementor-14871 .elementor-element.elementor-element-60d3e66.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-14871 .elementor-element.elementor-element-82ab7f3{font-family:"IRANYekanX", Sans-serif;font-size:18px;font-weight:500;line-height:26px;color:#000000;}.elementor-14871 .elementor-element.elementor-element-8c2972e{--display:flex;--gap:24px 24px;--row-gap:24px;--column-gap:24px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-14871 .elementor-element.elementor-element-eb29d62{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:28px;--padding-left:28px;--padding-right:28px;}.elementor-14871 .elementor-element.elementor-element-e55809c{--display:flex;}.elementor-14871 .elementor-element.elementor-element-b257b29{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:28px;--padding-bottom:28px;--padding-left:28px;--padding-right:28px;}.elementor-14871 .elementor-element.elementor-element-4e4d127{--display:flex;}.elementor-14871 .elementor-element.elementor-element-c80ffc2{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:28px;--padding-bottom:28px;--padding-left:28px;--padding-right:28px;}.elementor-14871 .elementor-element.elementor-element-e773489{--display:flex;}.elementor-14871 .elementor-element.elementor-element-c4d48d2{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:15px 15px;--row-gap:15px;--column-gap:15px;--margin-top:20px;--margin-bottom:40px;--margin-left:0px;--margin-right:0px;--padding-top:55px;--padding-bottom:55px;--padding-left:55px;--padding-right:55px;}.elementor-14871 .elementor-element.elementor-element-b7151a3{--display:flex;}.elementor-14871 .elementor-element.elementor-element-99abd96{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:center;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}@media(min-width:768px){.elementor-14871 .elementor-element.elementor-element-a0fbec6{--width:50%;}.elementor-14871 .elementor-element.elementor-element-0986c9a{--width:55%;}.elementor-14871 .elementor-element.elementor-element-60d3e66{--width:61.769%;}}/* Start custom CSS for theme-post-featured-image, class: .elementor-element-e20f139 */.elementor-14871 .elementor-element.elementor-element-e20f139 img {
  aspect-ratio: 1/1;
  object-fit: cover !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-9c8ddd7 *//* =========================================
   Portfolio Details - Persian RTL Fix
========================================= */

html[lang^="fa"] .rhps-details,
html[dir="rtl"] .rhps-details{
    direction: rtl;
    text-align: right;
  font-family: vazirmatn;
}

/* عنوان بخش */
html[lang^="fa"] .rhps-details h2,
html[lang^="fa"] .rhps-details h3,
html[dir="rtl"] .rhps-details h2,
html[dir="rtl"] .rhps-details h3{
    text-align: right !important;
}

/* خط بنفش زیر عنوان از راست شروع شود */
html[lang^="fa"] .rhps-details h2::after,
html[lang^="fa"] .rhps-details h3::after,
html[dir="rtl"] .rhps-details h2::after,
html[dir="rtl"] .rhps-details h3::after{
    margin-left: auto !important;
    margin-right: 0 !important;
}

/* جدول */
html[lang^="fa"] .rhps-details table,
html[dir="rtl"] .rhps-details table{
    direction: rtl;
    width: 100% !important;
    border-collapse: collapse !important;
}

/* ردیف‌ها */
html[lang^="fa"] .rhps-details tr,
html[dir="rtl"] .rhps-details tr{
    display: table-row;
    border-bottom: 1px solid #e8ebf2;
}

/* سلول‌ها */
html[lang^="fa"] .rhps-details th,
html[lang^="fa"] .rhps-details td,
html[dir="rtl"] .rhps-details th,
html[dir="rtl"] .rhps-details td{
    padding: 15px 0 !important;
    border: 0 !important;
    background: transparent !important;
    vertical-align: middle;
}

/* لیبل */
html[lang^="fa"] .rhps-details th,
html[dir="rtl"] .rhps-details th{
    width: 42%;
    text-align: right !important;
    color: #8a93a3 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

/* مقدار */
html[lang^="fa"] .rhps-details td,
html[dir="rtl"] .rhps-details td{
    text-align: left !important;
    color: #111827 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

/* لینک پروژه */
html[lang^="fa"] .rhps-details td a,
html[dir="rtl"] .rhps-details td a{
    direction: ltr;
    unicode-bidi: plaintext;
    display: inline-block;
    max-width: 100%;

    color: #6255ff !important;
    text-decoration: none !important;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;

    vertical-align: middle;
}

/* هاور لینک */
html[lang^="fa"] .rhps-details td a:hover,
html[dir="rtl"] .rhps-details td a:hover{
    color: #4938ee !important;
}

/* حذف خط آخر */
html[lang^="fa"] .rhps-details tr:last-child,
html[dir="rtl"] .rhps-details tr:last-child{
    border-bottom: 0;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b257b29 *//* اگر هیچ PDF یا ZIP وجود نداشت */
.rhps-attachments-card:not(:has(.rh-portfolio-attachments a)){
    display: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c80ffc2 *//* اگر Custom Fields وجود ندارد، کل کارت را مخفی کن */
.rhps-custom-fields-card:not(:has(.rh-portfolio-custom-fields-table)){
    display: none !important;
}/* End custom CSS */
/* Start custom CSS *//* ====================================
   RitaHost Portfolio Single
   English / LTR
   ==================================== */

:root {
    --rh-navy: #071426;
    --rh-dark: #111827;
    --rh-text: #283140;
    --rh-muted: #6b7280;

    --rh-purple: #6255ff;
    --rh-purple-light: #8b5cf6;

    --rh-border: #e8ebf2;
    --rh-soft: #f7f8fc;

    --rh-radius: 18px;
    --rh-shadow: 0 18px 50px rgba(15, 23, 42, .07);
}


/* ------------------------------------
   GLOBAL PAGE
------------------------------------ */

.rhps-page {
    font-family: "Inter", Arial, sans-serif;
    color: var(--rh-dark);
    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(98, 85, 255, .045),
            transparent 35%
        ),
        #fff;
}

.rhps-page h1,
.rhps-page h2,
.rhps-page h3,
.rhps-page h4 {
    letter-spacing: -0.035em;
    color: var(--rh-dark);
}

.rhps-page p {
    color: var(--rh-muted);
    line-height: 1.8;
}


/* ------------------------------------
   BREADCRUMB
------------------------------------ */

.rhps-breadcrumb {
    font-size: 13px !important;
    color: #9ba3b0 !important;
    margin-top: 20px;
    margin-bottom: 6px;
}

.rhps-breadcrumb a {
    color: #737c8b !important;
    text-decoration: none;
}


/* ------------------------------------
   HERO IMAGE
------------------------------------ */

.rhps-hero-media {
    overflow: hidden;
    border-radius: 22px !important;

    background: #f2f3f6;

    border: 1px solid var(--rh-border);

    box-shadow:
        0 30px 60px rgba(15, 23, 42, .09);
}

.rhps-hero-media img {
    display: block;
    width: 100% !important;
    height: auto !important;

    border-radius: 22px !important;

    transition:
        transform .6s cubic-bezier(.22,.61,.36,1);
}

.rhps-hero-media:hover img {
    transform: scale(1.02);
}


/* ------------------------------------
   HERO RIGHT SIDE
------------------------------------ */

.rhps-page .elementor-widget-theme-post-title h1 {
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.08;
    font-weight: 800;
    margin-bottom: 15px;
}

.rhps-page .elementor-widget-theme-post-excerpt {
    max-width: 550px;
}

.rhps-page .elementor-widget-theme-post-excerpt p {
    font-size: 16px;
    line-height: 1.8;
}


/* ------------------------------------
   SECTION LABEL TITLES
------------------------------------ */

.rhps-mini-title,
.rhps-page h4 {
    font-size: 14px !important;
    font-weight: 800 !important;

    color: #1c2433 !important;

    margin: 20px 0 11px !important;
}


/* ------------------------------------
   SERVICES / CATEGORY / TECH BADGES
------------------------------------ */

.rhps-pills .rh-portfolio-badges,
.rhps-pills .rh-portfolio-terms {
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px !important;
}

.rhps-pills .rh-badge,
.rhps-pills .rh-term {
    display: inline-flex !important;
    align-items: center;

    min-height: 30px;

    padding: 6px 12px !important;

    background: #f0f2f5 !important;

    border: 1px solid transparent !important;

    border-radius: 999px !important;

    font-size: 12px !important;
    line-height: 1 !important;

    font-weight: 700 !important;

    color: #404756 !important;

    transition: all .25s ease;
}

.rhps-pills .rh-badge:hover,
.rhps-pills .rh-term:hover {
    transform: translateY(-2px);
}


/* SEO */

.rh-badge--seo {
    background: #e5f8ed !important;
    color: #087c48 !important;
}


/* UI UX */

.rh-badge--ui-ux,
.rh-badge--ui,
.rh-badge--design {
    background: #ede9fe !important;
    color: #5b32c9 !important;
}


/* Hosting */

.rh-badge--hosting {
    background: #fff4e5 !important;
    color: #a45a04 !important;
}


/* Programming */

.rh-badge--programmer,
.rh-badge--development {
    background: #e7f3ff !important;
    color: #1466ac !important;
}


/* WordPress */

.rh-badge--wordpress {
    background: #e4f4fb !important;
    color: #16729a !important;
}


/* PHP */

.rh-badge--php {
    background: #ececff !important;
    color: #49499d !important;
}


/* Laravel */

.rh-badge--laravel {
    background: #ffeded !important;
    color: #d52424 !important;
}


/* React */

.rh-badge--react {
    background: #e8f8ff !important;
    color: #087ca9 !important;
}


/* ------------------------------------
   MAIN CONTENT CARDS
------------------------------------ */

.rhps-card {
    background: #fff !important;

    border: 1px solid var(--rh-border) !important;

    border-radius: var(--rh-radius) !important;

    padding: 28px !important;

    box-shadow: var(--rh-shadow) !important;
}

.rhps-card h2,
.rhps-card h3 {
    position: relative;

    margin-bottom: 25px !important;
}

.rhps-card h2::after,
.rhps-card h3::after {
    content: "";

    display: block;

    width: 36px;
    height: 3px;

    margin-top: 10px;

    background:
        linear-gradient(
            90deg,
            var(--rh-purple),
            var(--rh-purple-light)
        );

    border-radius: 50px;
}


/* ------------------------------------
   ABOUT PROJECT
------------------------------------ */

.rhps-page .elementor-widget-text-editor {
    font-size: 15px;
    line-height: 1.9;
}

.rhps-feature-box {
    margin-top: 28px;

    padding: 24px !important;

    border-radius: 15px;

    border: 1px solid #ece8ff;

    background:
        linear-gradient(
            135deg,
            #faf9ff 0%,
            #f7f7ff 100%
        );
}

.rhps-feature-box .elementor-icon-list-items {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 15px 25px;
}

.rhps-feature-box .elementor-icon-list-item {
    margin: 0 !important;
}

.rhps-feature-box .elementor-icon-list-icon {
    color: var(--rh-purple);
}

.rhps-feature-box .elementor-icon-list-text {
    color: #283140 !important;

    font-size: 13px;
    font-weight: 700;
}


/* ------------------------------------
   PROJECT INFO TABLE
------------------------------------ */

.rhps-details table {
    width: 100% !important;

    border-collapse: collapse !important;

    border: 0 !important;
}

.rhps-details tr {
    border-bottom: 1px solid var(--rh-border);
}

.rhps-details tr:last-child {
    border-bottom: 0;
}

.rhps-details th,
.rhps-details td {
    padding: 14px 4px !important;

    border: 0 !important;

    background: transparent !important;

    font-size: 13px !important;
}

.rhps-details th {
    width: 45%;

    color: #818896 !important;

    font-weight: 600 !important;

    text-align: left !important;
}

.rhps-details td {
    color: var(--rh-dark) !important;

    font-weight: 700 !important;

    text-align: right;
}


/* ------------------------------------
   DOWNLOADS
------------------------------------ */

.rhps-attachments
.rh-portfolio-attachments {
    display: flex !important;

    flex-direction: column;

    gap: 12px;
}

.rhps-attachments
.rh-portfolio-attachments a {
    display: flex !important;

    align-items: center;
    justify-content: space-between;

    min-height: 56px;

    padding: 15px 17px;

    border-radius: 12px;

    text-decoration: none !important;

    font-size: 13px;
    font-weight: 800;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.rhps-attachments
.rh-portfolio-attachments a:hover {
    transform: translateY(-2px);
}


/* PDF */

.rhps-attachments a[href$=".pdf"] {
    background:
        linear-gradient(
            90deg,
            #fff1f2,
            #fff7f8
        ) !important;

    color: #dd294a !important;

    border: 1px solid #ffe1e6;
}


/* ZIP */

.rhps-attachments a[href$=".zip"] {
    background:
        linear-gradient(
            90deg,
            #edfbf2,
            #f5fff8
        ) !important;

    color: #159448 !important;

    border: 1px solid #d6f5e2;
}


/* ------------------------------------
   CUSTOM FIELDS TABLE
------------------------------------ */

.rhps-card .rh-portfolio-custom-fields-table {
    width: 100%;

    border-collapse: collapse;
}

.rhps-card .rh-portfolio-custom-fields-table td,
.rhps-card .rh-portfolio-custom-fields-table th {
    padding: 12px 4px;

    border: 0;
    border-bottom: 1px solid var(--rh-border);

    font-size: 13px;
}


/* ------------------------------------
   PROJECT GALLERY
------------------------------------ */

.rhps-gallery .rh-project-gallery {
    display: grid !important;

    grid-template-columns:
        repeat(4, minmax(0, 1fr)) !important;

    gap: 14px !important;
}

.rhps-gallery .rh-project-gallery a {
    position: relative;

    display: block;

    overflow: hidden;

    border-radius: 13px;

    border: 1px solid var(--rh-border);

    box-shadow:
        0 8px 20px rgba(15,23,42,.05);

    background: #f3f4f6;
}

.rhps-gallery .rh-project-gallery a::after {
    content: "↗";

    position: absolute;

    right: 10px;
    bottom: 10px;

    display: flex;

    width: 32px;
    height: 32px;

    align-items: center;
    justify-content: center;

    background: rgba(255,255,255,.9);

    color: #111827;

    border-radius: 50%;

    opacity: 0;

    transform: translateY(6px);

    transition: all .25s ease;
}

.rhps-gallery .rh-project-gallery a:hover::after {
    opacity: 1;
    transform: translateY(0);
}

.rhps-gallery .rh-project-gallery img {
    width: 100% !important;
    height: 145px !important;

    object-fit: cover;

    display: block;

    transition: transform .45s ease;
}

.rhps-gallery
.rh-project-gallery a:hover img {
    transform: scale(1.06);
}


/* ------------------------------------
   CTA SECTION
------------------------------------ */

.rhps-cta {
    position: relative;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 15% 50%,
            rgba(98,85,255,.35),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #071426,
            #10294c
        ) !important;

    border-radius: 22px !important;

    padding: 50px 55px !important;

    box-shadow:
        0 25px 60px rgba(7,20,38,.18);
}

.rhps-cta::before {
    content: "";

    position: absolute;

    width: 300px;
    height: 300px;

    right: -100px;
    top: -130px;

    border: 1px solid rgba(255,255,255,.08);

    border-radius: 50%;
}

.rhps-cta h2 {
    color: #fff !important;

    font-size: clamp(28px, 4vw, 40px) !important;

    line-height: 1.15 !important;

    font-weight: 800 !important;
}

.rhps-cta p {
    color: rgba(255,255,255,.72) !important;

    max-width: 650px;

    font-size: 15px;
}


/* CTA BUTTONS */

.rhps-primary-btn .elementor-button {
    background:
        linear-gradient(
            135deg,
            #635bff,
            #8064ff
        ) !important;

    border: 0;

    border-radius: 11px;

    padding: 15px 25px;

    box-shadow:
        0 10px 25px rgba(98,85,255,.35);
}

.rhps-outline-btn .elementor-button {
    background: transparent !important;

    border:
        1px solid rgba(255,255,255,.35) !important;

    border-radius: 11px;

    padding: 14px 24px;
}

.rhps-outline-btn
.elementor-button:hover {
    background:
        rgba(255,255,255,.08) !important;
}


/* ------------------------------------
   SECTION SPACING
------------------------------------ */

.rhps-page
.elementor-section {
    margin-bottom: 22px;
}

.rhps-page
.elementor-widget-heading {
    margin-bottom: 10px;
}


/* ------------------------------------
   TABLE / LINK CLEANUP
------------------------------------ */

.rhps-page a {
    transition: all .25s ease;
}

.rhps-details a {
    color: var(--rh-purple);
    text-decoration: none;
}


/* ------------------------------------
   RESPONSIVE
------------------------------------ */

@media (max-width: 1024px) {

    .rhps-gallery .rh-project-gallery {
        grid-template-columns:
            repeat(3, 1fr) !important;
    }

    .rhps-feature-box
    .elementor-icon-list-items {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 767px) {

    .rhps-card {
        padding: 20px !important;
    }

    .rhps-page
    .elementor-widget-theme-post-title h1 {
        font-size: 34px;
    }

    .rhps-gallery
    .rh-project-gallery {
        grid-template-columns:
            repeat(2, 1fr) !important;

        gap: 10px !important;
    }

    .rhps-gallery
    .rh-project-gallery img {
        height: 110px !important;
    }

    .rhps-cta {
        padding: 35px 24px !important;

        border-radius: 17px !important;
    }

}/* End custom CSS */