@font-face {
    font-family: 'Vazirmatn';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(../fonts/Vazirmatn-Regular.woff?v=20260820) format('woff'),
         url(../fonts/Vazirmatn-Regular.ttf?v=20260820) format('truetype');
}
@font-face {
    font-family: 'Vazirmatn';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(../fonts/Vazirmatn-Medium.woff?v=20260820) format('woff'),
         url(../fonts/Vazirmatn-Medium.ttf?v=20260820) format('truetype');
}
@font-face {
    font-family: 'Vazirmatn';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(../fonts/Vazirmatn-Bold.woff?v=20260820) format('woff'),
         url(../fonts/Vazirmatn-Bold.ttf?v=20260820) format('truetype');
}

:root {
    --avin-navy: #061820;
    --avin-teal: #0c6b78;
    --avin-cyan: #22c3d0;
    --avin-accent: #ff3b4e;
    --avin-ink: #0e1c22;
    --avin-muted: #4f646c;
    --avin-paper: #eef6f7;
    --avin-line: rgba(12, 107, 120, 0.16);
    --avin-radius: 22px;
    --avin-shadow: 0 24px 70px rgba(6, 24, 32, 0.16);
}

.public-site,
.public-site h1,
.public-site h2,
.public-site h3,
.public-site h4,
.public-site h5,
.public-site h6,
.public-site p,
.public-site a,
.public-site li,
.public-site span,
.public-site button,
.public-site input,
.public-site textarea,
.public-site select,
.public-site td,
.public-site th {
    font-family: 'Vazirmatn', Tahoma, sans-serif !important;
}

.public-site {
    background: var(--avin-paper);
    color: var(--avin-ink);
}

.public-site *,
.public-site *::before,
.public-site *::after {
    letter-spacing: 0 !important;
}

.public-site h1, .public-site h2, .public-site h3, .public-site h4, .public-site h5 {
    font-weight: 700;
    color: var(--avin-navy);
}

.public-site .top-header {
    background: #041218;
    color: #cfe7eb;
    padding: 7px 0;
    font-size: 13px;
    border-bottom: 1px solid rgba(34, 195, 208, .18);
}

.public-site .top-header a,
.public-site .top-header li { color: #e8f7f9 !important; }

.public-site .top-header .row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.public-site .top-header .top-left,
.public-site .top-header .top-right {
    margin: 0;
    padding: 0;
}

.public-site .top-header .top-right {
    text-align: left;
}

.public-site .top-header i {
    font-size: 12px !important;
    color: #ffffff !important;
    line-height: 1 !important;
    top: 0 !important;
    margin-inline-end: 6px;
}

@media (max-width: 991px) {
    .public-site .top-header {
        display: flex;
        align-items: center;
        padding: 11px 0 9px;
        min-height: 42px;
        box-sizing: border-box;
    }

    .public-site .top-header .top-email,
    .public-site .top-header .top-hours {
        display: none !important;
    }

    .public-site .top-header .row {
        justify-content: center;
        align-items: center;
        width: 100%;
        margin: 0;
    }

    .public-site .top-header .col-lg-6 {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
        margin: 0;
        padding-top: 0;
        padding-bottom: 0;
    }

    .public-site .top-header .top-left {
        text-align: center;
        width: 100%;
        line-height: 1;
    }

    .public-site .top-header .top-phone {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        margin: 0;
        width: 100%;
        text-align: center;
        line-height: 1;
        vertical-align: middle;
    }

    .public-site .top-header .top-phone i,
    .public-site .top-header .top-phone a {
        display: inline-flex;
        align-items: center;
        line-height: 1;
        position: static !important;
        top: 0 !important;
    }
}

.public-site .navbar-area {
    position: sticky !important;
    top: 0;
    z-index: 1200;
    background: rgba(255,255,255,.92) !important;
    backdrop-filter: blur(16px);
    box-shadow: 0 10px 40px rgba(6,24,32,.12);
    min-height: 76px !important;
}

.public-site .main-navbar .navbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 76px;
    gap: 12px;
}

.public-site .navbar-brand {
    display: flex;
    align-items: center;
    margin: 0 !important;
    padding: 6px 0 !important;
}

.public-site .navbar-brand img,
.public-site .logo img {
    height: 54px !important;
    max-width: 200px !important;
    object-fit: contain;
}

@media (min-width: 992px) {
    .public-site .main-navbar .navbar .navbar-collapse {
        display: flex !important;
        flex: 1;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
    }
}

.public-site .main-navbar .navbar .navbar-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    margin: 0 auto !important;
    gap: 2px;
}

.public-site .main-navbar .navbar .navbar-nav .nav-item {
    margin: 0 2px !important;
    display: flex;
    align-items: center;
}

.public-site .main-navbar .navbar .navbar-nav .nav-item .nav-link {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-weight: 500;
    font-size: 14.5px !important;
    line-height: 1.4 !important;
    color: var(--avin-navy) !important;
    padding: 8px 12px !important;
    border-radius: 12px;
    white-space: nowrap;
}

.public-site .main-navbar .navbar .navbar-nav .nav-item .nav-link i {
    font-size: 12px;
    top: 0 !important;
    color: var(--avin-teal);
}

.public-site .main-navbar .navbar .navbar-nav .nav-item .nav-link:hover {
    background: rgba(34, 195, 208, .14);
    color: var(--avin-teal) !important;
}

.public-site .others-options {
    margin-inline-start: auto;
    gap: 10px;
    flex-shrink: 0;
}

.public-site .btn-acount,
.public-site .nav-account {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: linear-gradient(135deg, #0c6b78, #22c3d0) !important;
    color: #fff !important;
    border-radius: 999px !important;
    padding: 8px 16px !important;
    box-shadow: 0 10px 24px rgba(12,107,120,.35);
    white-space: nowrap;
    font-size: 13.5px;
    font-weight: 600;
    text-decoration: none !important;
}

.public-site .main-navbar .navbar .navbar-nav .nav-item .dropdown-menu,
.public-site .dropdown-menu {
    inset-inline-start: 0 !important;
    inset-inline-end: auto !important;
    left: auto !important;
    right: 0 !important;
    top: calc(100% + 6px) !important;
    width: max-content !important;
    min-width: 240px !important;
    max-width: min(420px, 86vw) !important;
    border: 1px solid var(--avin-line) !important;
    border-radius: 16px !important;
    box-shadow: var(--avin-shadow) !important;
    padding: 8px !important;
    background: #fff !important;
    overflow: hidden;
    text-align: right;
}

.public-site .main-navbar .navbar .navbar-nav .nav-item .dropdown-menu li,
.public-site .dropdown-menu li {
    width: 100%;
}

.public-site .main-navbar .navbar .navbar-nav .nav-item .dropdown-menu li a,
.public-site .dropdown-menu .dropdown-item {
    display: block !important;
    width: 100% !important;
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.7 !important;
    padding: 10px 14px !important;
    border-radius: 10px;
    font-size: 13.5px !important;
    color: var(--avin-ink) !important;
    text-align: right;
}

.public-site .main-navbar .navbar .navbar-nav .nav-item .dropdown-menu li a:hover,
.public-site .dropdown-menu .dropdown-item:hover {
    background: rgba(34, 195, 208, .12);
    color: var(--avin-teal) !important;
    letter-spacing: 0 !important;
}

@media (max-width: 991px) {
    .public-site .navbar-area {
        overflow: visible !important;
        position: sticky !important;
        min-height: 72px !important;
    }

    .public-site .main-navbar {
        display: none !important;
    }

    .public-site .main-responsive-nav {
        display: block !important;
    }

    .public-site .main-responsive-nav .container {
        position: relative;
    }

    .public-site .main-responsive-nav .main-responsive-menu {
        position: relative;
        min-height: 72px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        padding: 0 4px 0 60px !important;
    }

    .public-site .main-responsive-nav .logo {
        position: relative;
        z-index: 2;
        margin: 0 0 0 auto;
        max-width: calc(100% - 8px);
        pointer-events: auto;
    }

    .public-site .main-responsive-nav .logo a {
        display: inline-flex;
        align-items: center;
        max-width: 100%;
    }

    .public-site .main-responsive-nav .logo img {
        height: 44px !important;
        width: auto !important;
        max-width: min(150px, calc(100vw - 110px)) !important;
        object-fit: contain !important;
    }

    .public-site .mean-container .mean-bar,
    .public-site .mean-container .mean-bar * {
        box-sizing: border-box !important;
    }

    .public-site .mean-container .mean-bar {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 72px;
        padding: 0;
        background: transparent;
        border: 0;
        z-index: 1400;
        float: none;
        pointer-events: none;
        overflow: visible;
    }

    .public-site .mean-container a.meanmenu-reveal,
    .public-site .mean-container .mean-nav,
    .public-site .mean-container .mean-nav * {
        pointer-events: auto !important;
    }

    .public-site .mean-container a.meanmenu-reveal {
        pointer-events: auto;
        display: block !important;
        width: 48px !important;
        height: 48px !important;
        padding: 0 !important;
        margin: 0 !important;
        position: absolute !important;
        top: 12px !important;
        left: 12px !important;
        right: auto !important;
        z-index: 1410;
        text-indent: 0 !important;
        font-size: 0 !important;
        line-height: 0 !important;
        color: transparent !important;
        background: linear-gradient(145deg, #22c3d0, #0c6b78) !important;
        border-radius: 16px !important;
        box-shadow: 0 10px 22px rgba(12, 107, 120, .38);
        overflow: hidden;
        transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
    }

    .public-site .mean-container a.meanmenu-reveal:hover,
    .public-site .mean-container a.meanmenu-reveal:focus {
        transform: translateY(-1px);
        box-shadow: 0 14px 28px rgba(12, 107, 120, .45);
    }

    .public-site .mean-container a.meanmenu-reveal span,
    .public-site .mean-container a.meanmenu-reveal.meanclose span {
        display: none !important;
        visibility: hidden !important;
        width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        background: none !important;
        position: absolute !important;
    }

    .public-site .mean-container a.meanmenu-reveal::before,
    .public-site .mean-container a.meanmenu-reveal::after {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        width: 20px;
        height: 2px;
        margin: 0;
        background: #fff;
        border-radius: 99px;
        transform: translate(-50%, -50%);
        box-shadow: 0 -6px 0 #fff, 0 6px 0 #fff;
    }

    .public-site .mean-container a.meanmenu-reveal::after {
        display: none;
    }

    .public-site .mean-container a.meanmenu-reveal.meanclose {
        position: fixed !important;
        top: 14px !important;
        left: auto !important;
        right: calc(min(88vw, 380px) - 58px) !important;
        margin: 0 !important;
        width: 42px !important;
        height: 42px !important;
        background: #fff !important;
        box-shadow: 0 8px 24px rgba(6, 24, 32, .14);
        z-index: 1500;
        overflow: hidden;
    }

    .public-site .mean-container a.meanmenu-reveal.meanclose::before,
    .public-site .mean-container a.meanmenu-reveal.meanclose::after {
        display: block;
        background: var(--avin-navy);
        box-shadow: none;
        width: 16px;
        height: 2px;
    }

    .public-site .mean-container a.meanmenu-reveal.meanclose::before {
        transform: translate(-50%, -50%) rotate(45deg);
    }

    .public-site .mean-container a.meanmenu-reveal.meanclose::after {
        transform: translate(-50%, -50%) rotate(-45deg);
    }

    .public-site .mean-container .mean-bar:has(.meanclose)::before {
        content: "";
        position: fixed;
        inset: 0;
        background: rgba(4, 18, 24, .52);
        backdrop-filter: blur(4px);
        z-index: 1;
        pointer-events: none;
    }

    .public-site .mean-container .mean-nav {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        left: auto !important;
        float: none !important;
        width: min(88vw, 380px) !important;
        height: 100vh !important;
        height: 100dvh !important;
        margin-top: 0 !important;
        padding: 0 !important;
        background:
            linear-gradient(180deg, #0c6b78 0, #0c6b78 118px, #f4fbfc 118px, #f4fbfc 100%) !important;
        box-shadow: -24px 0 60px rgba(6, 24, 32, .22);
        border-radius: 28px 0 0 28px;
        transform: none !important;
        transition: none !important;
        animation: none !important;
        z-index: 20;
        overflow: hidden;
        pointer-events: auto !important;
        display: none !important;
        flex-direction: column;
    }

    .public-site .mean-container .mean-nav::before {
        content: "منوی سایت";
        display: block;
        flex: 0 0 auto;
        padding: 28px 22px 22px;
        color: #fff;
        font-size: 20px;
        font-weight: 700;
        letter-spacing: 0 !important;
        background: transparent;
    }

    .public-site .mean-container a.meanmenu-reveal.meanclose + .mean-nav {
        display: flex !important;
        flex-direction: column;
    }

    .public-site .mean-container .mean-nav > ul,
    .public-site .mean-container .mean-nav > ul.navbar-nav,
    .public-site .main-responsive-nav .main-responsive-menu.mean-container .mean-nav > .navbar-nav {
        display: block !important;
        flex: 1 1 auto;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        box-shadow: none !important;
        background: transparent !important;
        float: none !important;
        width: 100% !important;
        padding: 14px 14px 10px !important;
        margin: 0 !important;
        border: 0 !important;
        list-style: none !important;
    }

    .public-site .mean-container .mean-nav ul li {
        position: relative;
        float: none !important;
        width: 100% !important;
        margin: 0 0 6px !important;
        border: 0 !important;
        background: transparent !important;
    }

    .public-site .mean-container .mean-nav ul li a {
        display: block !important;
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 13px 16px !important;
        border: 0 !important;
        border-radius: 14px !important;
        background: #fff !important;
        color: var(--avin-navy) !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        line-height: 1.6 !important;
        text-align: right !important;
        white-space: normal !important;
        overflow-wrap: anywhere;
        word-break: break-word;
        box-shadow: 0 6px 16px rgba(12, 107, 120, .06);
        position: relative;
        z-index: 3;
        cursor: pointer;
        -webkit-tap-highlight-color: rgba(12, 107, 120, .18);
        padding-left: 52px !important;
    }

    .public-site .mean-container .mean-nav ul li a:hover,
    .public-site .mean-container .mean-nav ul li a.active {
        background: #fff !important;
        color: var(--avin-teal) !important;
    }

    .public-site .mean-container .mean-nav ul li a i {
        display: none !important;
    }

    .public-site .mean-container .mean-nav ul li a.mean-expand {
        position: absolute !important;
        top: 8px !important;
        left: 10px !important;
        right: auto !important;
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
        max-width: 36px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        text-align: center !important;
        border-radius: 50% !important;
        background: rgba(12, 107, 120, .12) !important;
        color: var(--avin-teal) !important;
        font-size: 20px !important;
        font-weight: 700 !important;
        line-height: 36px !important;
        box-shadow: none !important;
        z-index: 6 !important;
        float: none !important;
        transform: none !important;
    }

    .public-site .mean-container .mean-nav ul li li a,
    .public-site .mean-container .mean-nav ul li li li a {
        width: 100% !important;
        padding: 10px 16px !important;
        margin: 0 !important;
        background: rgba(255, 255, 255, .72) !important;
        box-shadow: none !important;
        font-size: 13.5px !important;
        font-weight: 500 !important;
        color: var(--avin-muted) !important;
    }

    .public-site .mean-container .mean-nav ul ul,
    .public-site .mean-container .mean-nav .dropdown-menu {
        display: none;
        position: static !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        transition: none !important;
        animation: none !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        float: none !important;
        box-shadow: none !important;
        border: 0 !important;
        padding: 6px 0 4px 8px !important;
        margin: 0 !important;
        background: transparent !important;
    }

    .public-site .mean-container .mean-nav ul li.mean-expand-open > ul,
    .public-site .mean-container .mean-nav ul li.mean-expand-open > .dropdown-menu {
        display: block !important;
    }

    .public-site .mean-container .mean-nav .option-item {
        display: none !important;
    }

    .public-site .main-responsive-nav .main-responsive-menu.mean-container .others-options,
    .public-site .mean-container .mean-nav .others-options {
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        justify-content: center;
        flex: 0 0 auto;
        width: 100% !important;
        max-width: 100%;
        gap: 0;
        margin: 0 !important;
        padding: 12px 14px calc(18px + env(safe-area-inset-bottom, 0px)) !important;
        box-sizing: border-box !important;
        background: #eef6f7;
        border-top: 1px solid var(--avin-line);
        position: relative;
        z-index: 4;
        overflow: visible;
    }

    .public-site .mean-container .mean-nav .nav-account,
    .public-site .mean-container .mean-nav .btn-acount {
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 48px;
        height: auto !important;
        margin: 0 !important;
        padding: 12px 16px !important;
        border-radius: 14px !important;
        font-size: 15px !important;
        box-sizing: border-box !important;
        white-space: nowrap;
        overflow: hidden;
        box-shadow: 0 12px 26px rgba(12, 107, 120, .28);
        float: none !important;
        position: relative !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        transform: none !important;
    }
}

.public-site .avin-kicker {
    display: inline-block;
    color: var(--avin-cyan);
    background: rgba(34,195,208,.12);
    border: 1px solid rgba(34,195,208,.35);
    border-radius: 999px;
    padding: 6px 14px;
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 16px;
}

.public-site .avin-kicker.dark {
    color: var(--avin-teal);
    background: rgba(12,107,120,.1);
}

.public-site .avin-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 22px;
    border-radius: 14px;
    font-weight: 700;
    text-decoration: none !important;
    transition: .25s ease;
}

.public-site .avin-btn-primary {
    background: linear-gradient(135deg, #ff3b4e, #ff6a3d);
    color: #fff !important;
    box-shadow: 0 14px 30px rgba(255,59,78,.35);
}

.public-site .avin-btn-primary:hover { transform: translateY(-2px); color: #fff !important; }

.public-site .avin-btn-ghost {
    border: 1px solid rgba(255,255,255,.45);
    color: #fff !important;
    background: rgba(255,255,255,.08);
}

.public-site .avin-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
    justify-content: center;
}

.public-site .avin-hero {
    position: relative;
    overflow: hidden;
}

.public-site .avin-hero .main-slider-item,
.public-site .avin-hero .avin-slide {
    position: relative;
    height: 82vh !important;
    min-height: 520px !important;
    max-height: 780px !important;
    padding: 0 !important;
    background-size: cover !important;
    background-position: center !important;
}

.public-site .avin-hero .main-slider-item::before {
    opacity: .68 !important;
    background: rgba(4, 18, 24, .62) !important;
    z-index: 1 !important;
}

.public-site .avin-hero .avin-slide-plain::before {
    opacity: .22 !important;
    background: rgba(4, 18, 24, .28) !important;
}

.public-site .avin-hero-inner {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 80px 16px 140px;
}

.public-site .avin-hero-copy,
.public-site .avin-hero .main-slider-content {
    max-width: 820px !important;
    margin: 0 auto !important;
    text-align: center !important;
    position: relative;
    z-index: 4;
}

.public-site .avin-hero-copy h1,
.public-site .avin-hero-copy h2,
.public-site .avin-hero .main-slider-content h1,
.public-site .avin-hero .main-slider-content h2 {
    color: #fff !important;
    font-size: clamp(26px, 3.6vw, 48px) !important;
    line-height: 1.45 !important;
    margin: 0 0 14px !important;
    text-shadow: 0 8px 28px rgba(0,0,0,.45);
}

.public-site .avin-hero-copy p,
.public-site .avin-hero .main-slider-content p {
    color: #e8f4f6 !important;
    font-size: 16px !important;
    line-height: 1.95 !important;
    margin: 0 auto !important;
    max-width: 640px;
}

.public-site .avin-hero .main-slider-content h1,
.public-site .avin-hero .main-slider-content h2,
.public-site .avin-hero .main-slider-content p,
.public-site .avin-hero .avin-hero-actions a {
    opacity: 0 !important;
    transform: translateY(22px);
    animation: none !important;
    transition: opacity .6s ease, transform .6s ease;
}

.public-site .avin-hero .owl-item.active .main-slider-content h1,
.public-site .avin-hero .owl-item.active .main-slider-content h2 {
    opacity: 1 !important;
    transform: none;
    transition-delay: .08s;
}

.public-site .avin-hero .owl-item.active .main-slider-content p {
    opacity: 1 !important;
    transform: none;
    transition-delay: .22s;
}

.public-site .avin-hero .owl-item.active .avin-hero-actions a {
    opacity: 1 !important;
    transform: none;
    transition-delay: .36s;
}

.public-site .avin-hero .home-slides {
    position: relative;
}

.public-site .avin-hero .home-slides.owl-theme .owl-nav,
.public-site .avin-hero .home-slides.owl-theme .owl-dots {
    position: absolute !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    pointer-events: none;
}

.public-site .avin-hero .home-slides.owl-theme .owl-nav {
    inset: 0;
    height: 100% !important;
    width: 100%;
    margin: 0 !important;
}

.public-site .avin-hero .home-slides.owl-theme .owl-dots {
    inset: auto 0 28px;
    height: auto !important;
    width: 100%;
}

.public-site .avin-hero .home-slides.owl-theme .owl-nav [class*=owl-],
.public-site .avin-hero .home-slides.owl-theme .owl-nav button {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 56px !important;
    height: 56px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(255, 255, 255, .38) !important;
    border-radius: 50% !important;
    background: rgba(8, 28, 36, .35) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    color: transparent !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .28);
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto;
    z-index: 6;
    display: flex !important;
    align-items: center;
    justify-content: center;
    transition: .25s ease;
}

.public-site .avin-hero .home-slides.owl-theme .owl-nav .owl-prev {
    left: 22px !important;
    right: auto !important;
}

.public-site .avin-hero .home-slides.owl-theme .owl-nav .owl-next {
    right: 22px !important;
    left: auto !important;
}

.public-site .avin-hero .home-slides.owl-theme:hover .owl-nav .owl-prev {
    left: 22px !important;
}

.public-site .avin-hero .home-slides.owl-theme:hover .owl-nav .owl-next {
    right: 22px !important;
    left: auto !important;
}

.public-site .avin-hero .owl-nav i {
    display: none !important;
}

.public-site .avin-hero .owl-nav .owl-prev::after,
.public-site .avin-hero .owl-nav .owl-next::after {
    content: "";
    width: 12px;
    height: 12px;
    border-top: 2.5px solid #fff;
    border-right: 2.5px solid #fff;
}

.public-site .avin-hero .owl-nav .owl-prev::after {
    transform: rotate(-135deg);
    margin-left: 3px;
}

.public-site .avin-hero .owl-nav .owl-next::after {
    transform: rotate(45deg);
    margin-right: 3px;
}

.public-site .avin-hero .home-slides.owl-theme .owl-nav [class*=owl-]:hover,
.public-site .avin-hero .home-slides.owl-theme .owl-nav [class*=owl-]:focus {
    background: linear-gradient(135deg, #0c6b78, #22c3d0) !important;
    border-color: transparent !important;
    transform: translateY(-50%) scale(1.08) !important;
}

.public-site .avin-stats {
    margin: -70px 0 0;
    position: relative;
    z-index: 5;
    padding: 0 0 40px;
}

.public-site .avin-stat-card {
    background: #fff;
    border-radius: 20px;
    padding: 22px 18px;
    min-height: 170px;
    box-shadow: var(--avin-shadow);
    border: 1px solid var(--avin-line);
}

.public-site .avin-stat-card img {
    height: 36px;
    width: auto;
    margin-bottom: 12px;
}

.public-site .avin-stat-card h5 { font-size: 16px; margin-bottom: 8px; }
.public-site .avin-stat-card p { color: var(--avin-muted); margin: 0; font-size: 13px; line-height: 1.8; }

.public-site .promo-banners {
    padding: 24px 0 0;
    margin: 0;
}
.public-site .promo-banners:not(:has(.promo-card)) {
    display: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.public-site .promo-card {
    display: block;
    overflow: hidden;
    border-radius: 24px;
    box-shadow: var(--avin-shadow);
    margin-bottom: 16px;
}
.public-site .promo-card img { width: 100%; height: 250px; object-fit: cover; transition: .5s; }
.public-site .promo-card:hover img { transform: scale(1.07); }
.public-site .promo-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, transparent 20%, rgba(4,18,24,.8));
    display: flex; align-items: flex-end; padding: 24px;
}
.public-site .promo-card { position: relative; }
.public-site .promo-card h3 { color: #fff !important; margin: 0; font-size: 22px; }

.public-site .avin-about {
    background: #fff;
    border-radius: 0;
    margin: 0;
    max-width: none;
    padding: 64px 0 !important;
    box-shadow: none;
}
.public-site .avin-about .about-image,
.public-site .avin-about-photo {
    padding: 0 !important;
    margin: 0;
    overflow: hidden;
    border-radius: 24px;
}
.public-site .avin-about .about-image img,
.public-site .avin-about-photo img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 24px !important;
    box-shadow: none !important;
    outline: none;
}
.public-site .about-content h2 { font-size: 32px; margin-bottom: 16px; }
.public-site .about-content p,
.public-site .about-content p span,
.public-site .avin-about-text,
.public-site .avin-about-preview,
.public-site .avin-about-rest {
    color: var(--avin-ink) !important;
    line-height: 2.1;
    font-size: 16px;
}
.public-site .about-content .avin-btn-primary { margin-top: 8px; }
.public-site .about-content .avin-read-more {
    display: inline-block;
    background: none;
    border: 0;
    padding: 0;
    margin: 0 0 12px;
    color: var(--avin-teal);
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}
.public-site .about-content .avin-read-more:hover {
    text-decoration: underline;
}

.public-site .section-title { text-align: center; margin-bottom: 36px !important; }
.public-site .section-title span { color: var(--avin-teal); display: block; margin-bottom: 6px; }
.public-site .section-title h2 { font-size: 32px; }
.public-site .section-title h2::after {
    content: ""; display: block; width: 72px; height: 5px; margin: 12px auto 0;
    border-radius: 99px;
    background: linear-gradient(90deg, var(--avin-cyan), var(--avin-accent));
}

.public-site .avin-service {
    display: block;
    position: relative;
    height: 240px;
    overflow: hidden;
    border-radius: 22px;
    box-shadow: none !important;
}
.public-site .avin-service img,
.public-site .service_image {
    width: 100%; height: 100%; object-fit: cover;
    filter: brightness(.42) saturate(1.15);
    transition: .45s;
}
.public-site .avin-service:hover img { transform: scale(1.1); filter: brightness(.32) saturate(1.2); }
.public-site .avin-service span {
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 20px; font-weight: 700; padding: 16px; text-align: center;
}

.public-site .research-band {
    background:
        radial-gradient(600px 280px at 10% 20%, rgba(34,195,208,.25), transparent 50%),
        linear-gradient(135deg, #041218, #0c4f59) !important;
    color: #fff;
    padding: 72px 0 !important;
    margin: 0;
}
.public-site .research-band h2,
.public-site .research-band p { color: #fff !important; }
.public-site .research-band p { line-height: 2.05; opacity: .92; text-align: justify; }
.public-site .avin-research-actions { display: flex; flex-direction: column; gap: 12px; }
.public-site .avin-research-consult-img {
    width: 100%;
    height: 210px;
    object-fit: cover;
    border-radius: 18px;
    display: block;
    box-shadow: 0 16px 40px rgba(0,0,0,.28);
    border: 1px solid rgba(255,255,255,.14);
}
.public-site .research-band .avin-btn-ghost { border-color: rgba(255,255,255,.4); }

.public-site .projects-area,
.public-site .services-area,
.public-site .partner-area,
.public-site .testimonials {
    background: var(--avin-paper);
    isolation: isolate;
    margin: 0 !important;
    padding-top: 110px !important;
    padding-bottom: 110px !important;
}

.public-site .projects-item {
    background: #fff;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: none !important;
    height: auto !important;
    isolation: isolate;
}

.public-site .projects-item .content::before,
.public-site .projects-item::before,
.public-site .projects-item::after {
    content: none !important;
    display: none !important;
    background: none !important;
    box-shadow: none !important;
    width: 0 !important;
    height: 0 !important;
}
.public-site .projects-item .img_300 { height: 210px !important; width: 100%; object-fit: cover; }
.public-site .projects-item .content { padding: 18px; }
.public-site .projects-item .content a { color: var(--avin-navy); font-weight: 700; }
.public-site .more-news { color: var(--avin-teal) !important; font-weight: 500; display: inline-block; margin-top: 8px; }

.public-site .lab-services-slider.owl-carousel .owl-stage {
    display: flex;
    align-items: flex-start;
}
.public-site .lab-services-slider.owl-carousel .owl-item {
    display: flex;
    height: auto;
    float: none;
}
.public-site .lab-service-card {
    display: flex !important;
    flex-direction: column;
    width: 100%;
    height: auto !important;
    min-height: 0;
    margin: 8px 4px 12px;
    border: 1px solid var(--avin-line);
    background: #fff;
    box-shadow: none !important;
    transition: transform .35s ease, border-color .35s ease;
}
.public-site .lab-service-card:hover {
    transform: translateY(-4px);
    border-color: rgba(12, 107, 120, 0.35);
    box-shadow: none !important;
}
.public-site .lab-service-card .image {
    position: relative;
    flex: 0 0 auto;
    overflow: hidden;
}
.public-site .lab-service-card .image a { display: block; }
.public-site .lab-service-card .img_300 {
    height: 200px !important;
    width: 100%;
    object-fit: cover;
    display: block;
    transition: transform .45s ease;
}
.public-site .lab-service-card:hover .img_300 { transform: scale(1.06); }
.public-site .lab-service-card .content {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    padding: 14px 16px 16px;
    background: #fff;
}
.public-site .lab-service-card .content::before,
.public-site .lab-service-card::before,
.public-site .lab-service-card::after {
    content: none !important;
    display: none !important;
    background: none !important;
}
.public-site .lab-service-card .content h3 {
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
    font-weight: 700;
    min-height: 3.4em;
}
.public-site .lab-service-card .content h3 a {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: var(--avin-navy);
    font-weight: 700;
}
.public-site .lab-service-card:hover .content h3 a { color: var(--avin-teal); }

.public-site .imgdsafsafsd {
    height: 260px !important;
    width: 100% !important;
    object-fit: cover !important;
    display: block;
    border-radius: 0 !important;
}
.public-site .avin-lab-gallery {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.public-site .avin-lab-gallery .btn {
    border: 0 !important;
    padding: 0 !important;
    background: transparent;
}
.public-site .avin-lab-gallery .projects-item {
    padding: 0 !important;
    margin: 0;
}
.public-site .avin-lab-gallery .projects-item .image {
    padding: 0 !important;
    margin: 0;
    height: 260px;
}

.public-site .testimonials .shadow-effect {
    border: 0; border-radius: 22px; box-shadow: var(--avin-shadow); padding: 32px 22px 40px;
}
.public-site .testimonial-name {
    background: linear-gradient(135deg, #0c6b78, #22c3d0) !important;
    border-radius: 999px !important;
}

.public-site .companies_logo_img {
    filter: grayscale(1) !important;
    opacity: .7;
    height: 88px !important;
    width: auto !important;
    max-width: 140px;
    object-fit: contain !important;
    background: #fff;
    padding: 10px;
    border-radius: 14px;
}
.public-site .companies_logo_img:hover { filter: none !important; opacity: 1; }

.public-site .footer-area {
    background: linear-gradient(180deg, #041218, #02090c) !important;
    color: #d7e6ea;
    margin-top: 0 !important;
    padding-top: 110px !important;
}
.public-site:has(.avin-user) .footer-area,
.public-site:has(.avin-auth) .footer-area {
    padding-top: 40px !important;
}
.public-site .single-footer-widget h3,
.public-site .footer-area p,
.public-site .footer-area a,
.public-site .footer-area li { color: #e8f2f4 !important; }
.public-site .footer-area .logo img {
    filter: brightness(0) invert(1);
}
.public-site .footer-area i,
.public-site .footer-area .social a,
.public-site .footer-area .social a:hover,
.public-site .footer-area .social a:focus {
    color: #fff !important;
}
.public-site .footer-area .social img,
.public-site .footer-area img[src*="ita.png"] {
    filter: brightness(0) invert(1);
}
.public-site .copyright-area { background: #010507 !important; color: #8ea8af; }

.public-site .go-top {
    background: linear-gradient(135deg, #0c6b78, #22c3d0) !important;
    border-radius: 14px !important;
}

.public-site .page-hero {
    background:
        radial-gradient(700px 240px at 80% 0, rgba(34,195,208,.28), transparent 50%),
        linear-gradient(135deg, #041218, #0c4f59);
    color: #fff;
    padding: 64px 20px 56px;
    margin-bottom: 32px;
}
.public-site .page-hero h1,
.public-site .page-hero h4 { color: #fff !important; margin: 0; font-size: clamp(26px, 4vw, 42px); }
.public-site .page-hero p { color: #cfe7eb; }

.public-site .img_header {
    height: 380px !important;
    filter: brightness(.5) !important;
}
.public-site .h_header {
    font-size: clamp(24px, 4vw, 42px) !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%);
    width: min(960px, 90%);
    text-align: right;
    text-shadow: 0 8px 30px rgba(0,0,0,.4);
}

.public-site #desbox,
.public-site .public-page-body,
.public-site .analyte-search {
    background: #fff !important;
    border: 0;
    border-radius: 22px;
    box-shadow: var(--avin-shadow);
    padding: 28px !important;
}

.public-site .table {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: var(--avin-shadow);
}

.public-site .archive-card {
    background: #fff;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: var(--avin-shadow);
    margin-bottom: 24px;
    display: block;
    transition: .25s;
}
.public-site .archive-card:hover { transform: translateY(-6px); }
.public-site .archive-card img { height: 220px !important; }
.public-site .archive-card h5 { color: var(--avin-navy) !important; }

.public-site .modal-content { border: 0; border-radius: 18px; }
.public-site .modal {
    z-index: 2100 !important;
}
.public-site .modal-backdrop {
    z-index: 2050 !important;
}
.public-site .modal .modal-dialog {
    display: flex;
    align-items: center;
    min-height: calc(100% - 3.5rem);
    margin: 1.75rem auto;
}

@media (max-width: 768px) {
    .public-site .avin-hero .main-slider-item,
    .public-site .avin-hero .avin-slide {
        height: 70vh !important;
        min-height: 440px !important;
        max-height: none !important;
    }
    .public-site .avin-hero-inner {
        padding: 56px 12px 110px;
    }
    .public-site .avin-hero .home-slides.owl-theme .owl-nav,
    .public-site .avin-hero .home-slides.owl-theme .owl-nav .owl-prev,
    .public-site .avin-hero .home-slides.owl-theme .owl-nav .owl-next,
    .public-site .css-slider-wrapper .control {
        display: none !important;
    }
    .public-site .avin-stats { margin: -40px 0 0; padding-bottom: 28px; }
    .public-site .avin-about { margin: 0; padding: 40px 0 !important; }
    .public-site .promo-banners { padding: 16px 0 0; }
    .public-site .projects-area,
    .public-site .services-area,
    .public-site .partner-area,
    .public-site .testimonials,
    .public-site .research-band {
        padding-top: 80px !important;
        padding-bottom: 80px !important;
    }
    .public-site .avin-lab-gallery {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    .public-site .avin-about-photo img { height: 240px; }
    .public-site .avin-stat-card { min-height: 150px; padding: 16px 12px; }
}

/* Auth / login / register */
.public-site .avin-auth {
    padding: 40px 0;
}
.public-site .avin-auth-shell {
    display: grid;
    grid-template-columns: minmax(260px, .92fr) minmax(320px, 1.08fr);
    max-width: 980px;
    margin: 0 auto;
    background: #fff;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: var(--avin-shadow);
    min-height: 520px;
}
.public-site .avin-auth-wide {
    max-width: 1080px;
    grid-template-columns: minmax(240px, .7fr) minmax(420px, 1.3fr);
}
.public-site .avin-auth-brand {
    position: relative;
    background:
        radial-gradient(420px 220px at 100% 0, rgba(34,195,208,.35), transparent 55%),
        linear-gradient(165deg, #041218 0%, #0c4f59 55%, #0c6b78 100%);
    color: #eaf6f8;
    padding: 42px 36px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
}
.public-site .avin-auth-brand::before {
    content: "";
    position: absolute;
    inset: auto -40px -80px auto;
    width: 240px;
    height: 240px;
    border: 18px solid rgba(255,255,255,.06);
    border-radius: 50%;
}
.public-site .avin-auth-brand::after {
    content: "";
    position: absolute;
    inset: 18% auto auto -70px;
    width: 180px;
    height: 180px;
    border: 14px solid rgba(34,195,208,.12);
    border-radius: 50%;
}
.public-site .avin-auth-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    letter-spacing: 0;
    color: #9fe8ef;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    padding: 6px 12px;
    margin-bottom: 18px;
    width: fit-content;
}
.public-site .avin-auth-brand h2 {
    color: #fff !important;
    font-size: clamp(22px, 2.4vw, 32px);
    line-height: 1.45;
    margin: 0 0 12px;
    position: relative;
    z-index: 1;
}
.public-site .avin-auth-brand p {
    color: #cfe7eb !important;
    line-height: 1.9;
    font-size: 14px;
    margin: 0;
    position: relative;
    z-index: 1;
}
.public-site .avin-auth-points {
    list-style: none;
    padding: 0;
    margin: 28px 0 0;
    position: relative;
    z-index: 1;
}
.public-site .avin-auth-points li {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #e8f2f4 !important;
    font-size: 13px;
    margin-bottom: 10px;
}
.public-site .avin-auth-points i {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(34,195,208,.18);
    color: #9fe8ef;
    font-size: 12px;
}
.public-site .avin-auth-form {
    padding: 42px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.public-site .avin-auth-form h3 {
    margin: 0 0 6px;
    font-size: 24px;
    color: var(--avin-navy) !important;
}
.public-site .avin-auth-form .avin-auth-lead {
    color: var(--avin-muted) !important;
    font-size: 14px;
    margin-bottom: 26px;
}
.public-site .avin-auth-form label {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: var(--avin-navy);
    margin-bottom: 8px;
}
.public-site .avin-auth-form input:not([type=submit]):not([type=hidden]),
.public-site .avin-auth-form .form-control,
.public-site .avin-auth-form .form-select {
    width: 100%;
    height: 50px;
    border: 1px solid var(--avin-line);
    background: #f7fbfb;
    border-radius: 14px;
    padding: 0 16px;
    margin: 0 0 16px;
    font-size: 15px;
    color: var(--avin-ink);
    box-shadow: none;
}
.public-site .avin-auth-form input:focus,
.public-site .avin-auth-form .form-control:focus {
    outline: none;
    border-color: var(--avin-teal);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(12,107,120,.12);
}
.public-site .avin-auth-form input[type=submit],
.public-site .avin-auth-submit {
    width: 100%;
    height: 50px;
    border: 0;
    border-radius: 14px;
    background: linear-gradient(135deg, #0c6b78, #22c3d0);
    color: #fff;
    font-weight: 700;
    cursor: pointer;
    margin-top: 8px;
    transition: .2s ease;
}
.public-site .avin-auth-form input[type=submit]:hover,
.public-site .avin-auth-submit:hover {
    transform: translateY(-1px);
    color: #fff;
}
.public-site .avin-auth-or {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #7a9198;
    font-size: 12px;
    margin: 22px 0 8px;
}
.public-site .avin-auth-or::before,
.public-site .avin-auth-or::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--avin-line);
}
.public-site .avin-auth-alt {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    height: 46px;
    border-radius: 14px;
    border: 1px solid var(--avin-line);
    color: var(--avin-teal) !important;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 500;
    background: #fff;
    transition: .2s ease;
}
.public-site .avin-auth-alt:hover {
    background: var(--avin-paper);
    color: var(--avin-navy) !important;
}
.public-site .avin-auth-link {
    color: var(--avin-teal) !important;
    font-size: 13px;
    text-decoration: none !important;
}
.public-site .avin-auth-error {
    display: block;
    color: #c62828;
    font-size: 12px;
    margin: -8px 0 14px;
}
.public-site .avin-auth-alert {
    border: 0;
    border-radius: 14px;
    background: #fff1f1;
    color: #9b1c1c;
    font-size: 13px;
    padding: 12px 14px;
    margin-bottom: 18px;
}
.public-site .avin-auth-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 16px;
}
.public-site .avin-auth-modal .modal-content {
    border-radius: 18px;
    padding: 8px;
    direction: rtl;
    text-align: right;
}
.public-site .avin-auth-modal .modal-header {
    direction: rtl;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    text-align: right;
}
.public-site .avin-auth-modal .modal-title {
    margin: 0;
    text-align: right;
}
.public-site .avin-auth-modal .modal-header .btn-close {
    margin: 0 !important;
}
.public-site .avin-auth-modal .login-code,
.public-site .avin-auth-modal input[type=submit] {
    width: 100%;
    height: 46px;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(135deg, #0c6b78, #22c3d0);
    color: #fff;
    font-weight: 700;
}
@media (max-width: 860px) {
    .public-site .avin-auth-shell,
    .public-site .avin-auth-wide {
        grid-template-columns: 1fr;
        min-height: 0;
    }
    .public-site .avin-auth-brand { min-height: 220px; padding: 28px 24px; }
    .public-site .avin-auth-form { padding: 28px 22px 32px; }
    .public-site .avin-auth-grid { grid-template-columns: 1fr; }
}

/* Subject suggestion */
.public-site .avin-subjects { min-height: 40vh; }
.public-site .avin-subject-filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin: 8px 0 28px;
}
.public-site .avin-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 8px 16px;
    border-radius: 999px;
    background: #fff;
    color: var(--avin-navy) !important;
    border: 1px solid var(--avin-line);
    text-decoration: none !important;
    font-size: 13.5px;
    font-weight: 600;
    transition: .2s ease;
}
.public-site .avin-chip:hover {
    border-color: var(--avin-cyan);
    color: var(--avin-teal) !important;
    background: rgba(34,195,208,.1);
}
.public-site .avin-chip.is-active {
    background: linear-gradient(135deg, #0c6b78, #22c3d0);
    color: #fff !important;
    border-color: transparent;
    box-shadow: 0 10px 22px rgba(12,107,120,.28);
}
.public-site .avin-topic-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
    border-radius: var(--avin-radius);
    overflow: hidden;
    text-decoration: none !important;
    box-shadow: var(--avin-shadow);
    transition: .25s ease;
}
.public-site .avin-topic-card:hover {
    transform: translateY(-6px);
}
.public-site .avin-topic-media {
    display: block;
    height: 168px;
    overflow: hidden;
    background: #0c4f59;
}
.public-site .avin-topic-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .4s ease;
}
.public-site .avin-topic-card:hover img { transform: scale(1.06); }
.public-site .avin-topic-card h3 {
    margin: 0;
    padding: 16px 18px 18px;
    font-size: 15px;
    line-height: 1.75;
    color: var(--avin-navy) !important;
}
.public-site .avin-empty {
    background: #fff;
    border-radius: var(--avin-radius);
    box-shadow: var(--avin-shadow);
    text-align: center;
    padding: 48px 24px;
}
.public-site .avin-empty strong {
    display: block;
    font-size: 20px;
    color: var(--avin-navy);
    margin-bottom: 8px;
}
.public-site .avin-empty p {
    color: var(--avin-muted);
    margin-bottom: 22px;
}
.public-site .avin-pager {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    list-style: none;
    padding: 16px 0 0;
    margin: 8px 0 0;
}
.public-site .avin-pager a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    padding: 0 12px;
    border-radius: 12px;
    background: #fff;
    color: var(--avin-navy) !important;
    text-decoration: none !important;
    border: 1px solid var(--avin-line);
    font-weight: 700;
}
.public-site .avin-pager .is-active a,
.public-site .avin-pager a:hover {
    background: linear-gradient(135deg, #0c6b78, #22c3d0);
    color: #fff !important;
    border-color: transparent;
}
.public-site .avin-consult { margin-top: 24px; }
.public-site .avin-consult-form {
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 22px;
    padding: 24px;
    backdrop-filter: blur(10px);
}
.public-site .avin-consult-form label {
    display: block;
    color: #cfe7eb;
    font-size: 13px;
    margin-bottom: 6px;
}
.public-site .avin-consult-form input,
.public-site .avin-consult-form select,
.public-site .avin-consult-form textarea {
    width: 100%;
    min-height: 48px;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.96);
    border-radius: 12px;
    padding: 10px 14px;
    color: var(--avin-ink);
    text-align: right;
}
.public-site .avin-consult-form textarea { min-height: 110px; resize: vertical; }
.public-site .page-hero .avin-hero-actions { margin-top: 22px; }

.public-site .avin-btn-outline {
    border: 1px solid var(--avin-line);
    color: var(--avin-navy) !important;
    background: #fff;
}
.public-site .avin-btn-outline:hover {
    border-color: var(--avin-cyan);
    color: var(--avin-teal) !important;
    transform: translateY(-2px);
}

.public-site .avin-article-cover {
    margin: -8px 0 24px;
    border-radius: var(--avin-radius);
    overflow: hidden;
    box-shadow: var(--avin-shadow);
}
.public-site .avin-article-cover img {
    width: 100%;
    height: min(420px, 52vw);
    object-fit: cover;
    display: block;
}
.public-site .avin-article-body {
    background: #fff !important;
    border-radius: var(--avin-radius);
    box-shadow: var(--avin-shadow);
    padding: 32px 28px !important;
    overflow: hidden;
}
.public-site .avin-article-body,
.public-site .avin-article-body p,
.public-site .avin-article-body li,
.public-site .avin-article-body td {
    text-align: justify;
    line-height: 2;
    color: var(--avin-ink);
}
.public-site .avin-article-body h2,
.public-site .avin-article-body h3,
.public-site .avin-article-body h4 {
    margin-top: 1.4em;
    color: var(--avin-navy);
}
.public-site .avin-article-body img {
    max-width: 100%;
    height: auto;
    border-radius: 16px;
    margin: 12px 0;
}
.public-site .avin-article-body a {
    color: var(--avin-teal) !important;
    text-decoration: none;
}
.public-site .avin-article-body table {
    width: 100% !important;
    max-width: 100%;
    display: block;
    overflow-x: auto;
}
.public-site .avin-article-media {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
}
.public-site .avin-article-media video {
    width: min(100%, 720px);
    border-radius: 16px;
    background: #041218;
}
.public-site .avin-article-actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 28px;
    padding-top: 20px;
    border-top: 1px solid var(--avin-line);
}
.public-site .avin-table-hint {
    background: rgba(12, 107, 120, .08);
    color: var(--avin-teal);
    border-radius: 12px;
    padding: 12px 14px;
    margin-bottom: 18px;
    font-size: 13px;
}
.public-site .avin-gallery-thumb img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    border-radius: 16px;
    background: #041218;
}
.public-site .avin-video-card .avin-topic-media {
    position: relative;
    height: 220px;
    background: #041218;
}
.public-site .avin-video-card video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.public-site .avin-search-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    background: #fff;
    border-radius: var(--avin-radius);
    box-shadow: var(--avin-shadow);
    padding: 16px;
    margin-bottom: 28px;
}
.public-site .avin-search-bar input,
.public-site .avin-search-bar select {
    flex: 1 1 180px;
    min-height: 48px;
    border: 1px solid var(--avin-line);
    border-radius: 12px;
    padding: 10px 14px;
    background: #fff;
    color: var(--avin-ink);
}
.public-site .avin-table-card {
    background: #fff;
    border-radius: var(--avin-radius);
    box-shadow: var(--avin-shadow);
    padding: 8px 12px 4px;
    overflow: hidden;
}
.public-site .avin-branch-card {
    display: flex;
    gap: 16px;
    align-items: center;
    background: #fff;
    border-radius: var(--avin-radius);
    box-shadow: var(--avin-shadow);
    padding: 14px;
    text-decoration: none !important;
    height: 100%;
    transition: .25s ease;
}
.public-site .avin-branch-card:hover { transform: translateY(-6px); }
.public-site .avin-branch-media {
    width: 92px;
    height: 92px;
    border-radius: 16px;
    overflow: hidden;
    flex: 0 0 92px;
    background: #0c4f59;
}
.public-site .avin-branch-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.public-site .avin-branch-copy h3 {
    font-size: 16px;
    margin: 0 0 8px;
    color: var(--avin-navy) !important;
}
.public-site .avin-branch-copy p {
    margin: 0;
    color: var(--avin-muted);
    font-size: 13px;
    line-height: 1.8;
}
.public-site .avin-hours {
    border: 1px solid var(--avin-line);
    border-radius: 16px;
    overflow: hidden;
}
.public-site .avin-hours > div {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-bottom: 1px solid var(--avin-line);
}
.public-site .avin-hours > div:last-child { border-bottom: 0; }
.public-site .avin-hours span {
    padding: 10px 14px;
}
.public-site .avin-hours span:first-child {
    background: #0c4f59;
    color: #fff;
}
.public-site .avin-member-photo {
    width: 180px;
    height: 180px;
    object-fit: cover;
    border-radius: 50%;
    margin: 0 auto 18px;
    box-shadow: var(--avin-shadow);
}
.public-site .avin-member-meta {
    display: flex;
    justify-content: center;
    gap: 18px;
    flex-wrap: wrap;
    color: var(--avin-muted);
}
.public-site .avin-play-btn {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 64px;
    height: 64px;
    border: 0;
    border-radius: 50%;
    background: linear-gradient(135deg, #ff3b4e, #ff6a3d);
    color: #fff;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 12px 24px rgba(255, 59, 78, .35);
    cursor: pointer;
}

/* User panel — match landing */
.public-site .avin-user {
    padding: 40px 0;
}
.public-site .avin-user .panel {
    margin: 0 !important;
    background: #fff;
    border-radius: 28px;
    overflow: visible;
    box-shadow: var(--avin-shadow);
    border: 1px solid var(--avin-line);
    align-items: stretch !important;
}
.public-site .avin-user .panel-side {
    background:
        radial-gradient(280px 160px at 100% 0, rgba(34,195,208,.28), transparent 55%),
        linear-gradient(180deg, #041218 0%, #0c4f59 58%, #0c6b78 100%);
    color: #eaf6f8;
    border-left: 0 !important;
    padding: 28px 18px 32px !important;
    border-start-start-radius: 28px;
    border-end-start-radius: 28px;
}
.public-site .avin-user .panel-side .card {
    background: transparent !important;
    border: 0 !important;
    color: #fff;
}
.public-site .avin-user .panel .card .user-image {
    width: 92px;
    height: 92px;
    padding: 4px;
    border: 2px solid rgba(255,255,255,.28);
    border-radius: 50%;
    background: rgba(255,255,255,.08);
}
.public-site .avin-user .panel .card .user-image .card-img-top {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}
.public-site .avin-user .panel-side .card-title,
.public-site .avin-user .panel-side .card-title strong {
    color: #fff !important;
    font-size: 16px;
    margin: 0;
}
.public-site .avin-user .panel ul.panel-list {
    padding: 8px 0 0 !important;
    margin: 0;
}
.public-site .avin-user .panel ul.panel-list li {
    list-style: none;
    padding: 0;
    margin: 0 0 6px;
    border-radius: 12px;
    overflow: hidden;
}
.public-site .avin-user .panel ul.panel-list li a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 12px;
    color: #e8f2f4 !important;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 500;
}
.public-site .avin-user .panel ul.panel-list li i {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(34,195,208,.18);
    color: #9fe8ef;
    font-size: 13px;
}
.public-site .avin-user .panel .panel-list li.active {
    background: rgba(255,255,255,.14);
}
.public-site .avin-user .panel .panel-list li.active a,
.public-site .avin-user .panel .panel-list li.active i {
    color: #fff !important;
}
.public-site .avin-user .panel .panel-list li:not(.active):hover {
    background: rgba(255,255,255,.08);
}
.public-site .avin-user .panel .panel-list li:not(.active):hover a,
.public-site .avin-user .panel .panel-list li:not(.active):hover i {
    color: #9fe8ef !important;
}
.public-site .avin-user .panel-content {
    background: #fff !important;
    padding: 8px 12px 12px !important;
    min-height: 100%;
    align-self: stretch;
    border-start-end-radius: 28px;
    border-end-end-radius: 28px;
    overflow: visible;
}
.public-site .avin-user .panel-content .table-responsive {
    margin-bottom: 0 !important;
    background: #fff;
}
.public-site .avin-user .panel-content .table {
    margin-bottom: 0 !important;
    background: #fff;
    --bs-table-bg: #fff;
}
.public-site .avin-user .panel-title {
    border-bottom: 1px solid var(--avin-line) !important;
    color: var(--avin-navy);
    margin: 8px 8px 0;
    padding-bottom: 14px !important;
}
.public-site .avin-user .panel-title h5 {
    font-size: 20px;
    color: var(--avin-navy) !important;
    margin: 0;
}
.public-site .avin-user .panel-title i {
    color: var(--avin-teal);
}
.public-site .avin-user .form-control,
.public-site .avin-user .form-select,
.public-site .avin-user input:not([type=submit]):not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=file]),
.public-site .avin-user textarea,
.public-site .avin-user select {
    height: auto;
    min-height: 48px;
    border: 1px solid var(--avin-line) !important;
    background: #f7fbfb !important;
    border-radius: 14px !important;
    padding: 10px 14px;
    color: var(--avin-ink);
    box-shadow: none !important;
}
.public-site .avin-user textarea { min-height: 120px; }
.public-site .avin-user .form-control:focus,
.public-site .avin-user input:focus,
.public-site .avin-user textarea:focus,
.public-site .avin-user select:focus {
    border-color: var(--avin-teal) !important;
    background: #fff !important;
    box-shadow: 0 0 0 4px rgba(12,107,120,.12) !important;
}
.public-site .avin-user .btn,
.public-site .avin-user .btn-main-color,
.public-site .avin-user input[type=submit],
.public-site .avin-user button[type=submit] {
    border: 0;
    border-radius: 14px !important;
    background: linear-gradient(135deg, #0c6b78, #22c3d0) !important;
    color: #fff !important;
    font-weight: 700;
    padding: 10px 18px;
    box-shadow: none;
}
.public-site .avin-user .btn-outline-secondary,
.public-site .avin-user .btn-light {
    background: #fff !important;
    color: var(--avin-teal) !important;
    border: 1px solid var(--avin-line) !important;
}
.public-site .avin-user .btn-danger {
    background: linear-gradient(135deg, #c62828, #e53935) !important;
}
.public-site .avin-user .table {
    color: var(--avin-ink);
}
.public-site .avin-user .table thead th {
    background: var(--avin-paper);
    color: var(--avin-navy);
    border: 0;
    font-weight: 700;
    font-size: 13px;
}
.public-site .avin-user .table>:not(caption)>*>* {
    border-bottom-width: 1px;
    border-color: var(--avin-line);
    vertical-align: middle;
}
.public-site .avin-user .table-striped>tbody>tr:nth-of-type(odd) {
    --bs-table-accent-bg: rgba(12,107,120,.05);
}
@media (max-width: 767px) {
    .public-site .avin-user .panel {
        border-radius: 20px;
    }
    .public-site .avin-user .panel-side {
        border-radius: 20px 20px 0 0;
    }
}

.public-site .avin-field-help {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    padding: 0;
    margin-inline-start: 6px;
    vertical-align: middle;
    border: 0;
    border-radius: 50%;
    background: linear-gradient(135deg, #0c6b78, #22c3d0);
    color: #fff;
    cursor: pointer;
    line-height: 1;
}
.public-site .avin-field-help i {
    font-size: 14px;
    color: #fff;
}
.public-site .avin-field-help-tip {
    display: none;
}
.avin-field-help-float {
    display: block;
    position: fixed;
    z-index: 5000;
    min-width: 220px;
    max-width: min(320px, calc(100vw - 24px));
    padding: 12px 14px;
    background: #041218;
    color: #eaf6f8;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.85;
    white-space: pre-line;
    text-align: right;
    border-radius: 14px;
    box-shadow: 0 16px 40px rgba(6,24,32,.28);
    font-family: 'Vazirmatn', Tahoma, sans-serif;
}
