/* Public layouts only. This stylesheet is never loaded by Areas/Admin. */
@font-face {
    font-family: 'Vazirmatn';
    src: url('../arcengroup-assets/fonts/vazirmatn/Vazirmatn.woff2') format('woff2');
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
}
.client-layout {
    --client-font: Arial, Helvetica, sans-serif;
    --client-radius: .5rem;
    --client-focus: #005a9c;
    direction: ltr;
    text-align: start;
    font-family: var(--client-font);
    line-height: 1.65;
    overflow-wrap: break-word;
}
.client-layout:lang(fa) { --client-font: 'Vazirmatn', Tahoma, sans-serif; }
.client-layout[dir='rtl'] { direction: rtl; }
.client-layout :is(h1, h2, h3, h4, h5, h6, button, input, textarea, select, .font-I) { font-family: var(--client-font); }
.client-layout :is(h1, h2, h3, h4, h5, h6) { line-height: 1.45; text-wrap: balance; }
.client-layout :is(p, li, dd, td, .info-card strong) { overflow-wrap: anywhere; }
.client-layout :is(input, select, textarea) { max-inline-size: 100%; min-inline-size: 0; }
.client-layout :is(input, textarea)::placeholder { text-align: start; opacity: 1; color: #69717b; }
.client-layout :is(input[type='email'], input[type='tel'], [dir='ltr'], a[href^='tel:'], a[href^='mailto:']) { direction: ltr; unicode-bidi: isolate; }
.client-layout :is(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid var(--client-focus);
    outline-offset: 3px;
}
.client-layout :is(button, .btn, .form-control, .form-select) { border-radius: var(--client-radius); }
.client-layout :is(button, .btn, select, input:not([type='checkbox']):not([type='radio']):not([type='hidden'])) { min-block-size: 44px; }
.client-layout :is(button, .btn) { white-space: normal; }
.client-layout :is(button:disabled, .btn.disabled, a.disabled) { opacity: .6; cursor: not-allowed; }
.client-layout a.disabled { pointer-events: none; }
.client-layout .field-validation-error { display: block; text-align: start; margin-block-start: .25rem; }
.client-layout :is(.input-validation-error, [aria-invalid='true']) { border-color: #b42318; }
.client-layout :is(.row > *, .card-body, .company-summary, .content-panel, .info-card, .form-group) { min-inline-size: 0; }
.client-layout img:not(.leaflet-tile):not(.leaflet-marker-icon):not(.leaflet-marker-shadow) { max-inline-size: 100%; }
.client-layout .table-responsive { max-inline-size: 100%; overscroll-behavior-inline: contain; }
.client-layout table { text-align: start; }
.client-layout .dropdown-menu { text-align: start; }
.client-layout .language-switcher { gap: .5rem; margin-inline: .75rem; flex: 0 0 auto; }
.client-layout .language-switcher__label { display: block; margin: 0; }
.client-layout .language-switcher select { inline-size: auto; min-inline-size: 7.5rem; cursor: pointer; }
.client-layout .language-switcher[aria-busy='true'] { opacity: .65; }
.client-layout .navbar-brand { flex-shrink: 1; min-inline-size: 0; }
.client-layout .logo-img { inline-size: clamp(110px, 20vw, 180px); block-size: auto; }
.client-layout .navbar-nav .nav-link { white-space: normal; }
.client-layout .social a { margin: 0; margin-inline-end: .5rem; display: inline-flex; align-items: center; justify-content: center; min-inline-size: 44px; min-block-size: 44px; }
.client-layout .slide-caption, .client-layout .hero .slide-caption { text-align: start; }
.client-layout .companies-section .company-list li { padding-inline: 1.2rem 0; }
.client-layout .companies-section .company-list li::before { left: auto; right: auto; inset-inline-start: 0; }
.client-layout .about-hero__caption { border-left: 0; border-right: 0; border-inline-start: 4px solid #c98724; }
.client-layout .about-proof__item { border-left: 0; border-right: 0; border-inline-end: 1px solid #e4e8ee; }
.client-layout .about-proof__item:last-child { border-inline-end: 0; }
.client-layout .about-office__panel { border-left: 1px solid #dfe6ef; border-right: 1px solid #dfe6ef; border-inline-start: 5px solid #c98724; }
.client-layout .blog-article__body blockquote { border-left: 0; border-right: 0; border-inline-start: 4px solid #002a61; padding-inline: 22px 0; }
.client-layout .search-box i { left: auto; right: auto; inset-inline-start: 14px; }
.client-layout .search-box input { padding-inline: 38px 12px; }
.client-layout .project-hero-overlay { left: auto; right: auto; inset-inline-start: 8%; max-inline-size: 84%; }
.client-layout[dir='rtl'] :is(.blog-back-link .bi-arrow-left, .company-list .bi-chevron-right, .arrow-right) { display: inline-block; transform: scaleX(-1); }
/* Owl's rtl option handles direction and item order; controls follow reading order. */
.client-layout[dir='rtl'] .hero .owl-nav .owl-prev { left: auto; right: 18px; }
.client-layout[dir='rtl'] .hero .owl-nav .owl-next { right: auto; left: 18px; }
.client-layout[dir='rtl'] .gallery-lightbox__nav--prev { left: auto; right: 22px; }
.client-layout[dir='rtl'] .gallery-lightbox__nav--next { right: auto; left: 22px; }
.client-layout[dir='rtl'] .gallery-lightbox__nav { transform: scaleX(-1); }
.client-layout .client-sr-only {
    position: absolute; inline-size: 1px; block-size: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
}
.client-layout .client-skip-link { position: fixed; inset-block-start: .5rem; inset-inline-start: .5rem; z-index: 10000; padding: .75rem 1rem; background: #fff; color: #002a61; transform: translateY(-160%); }
.client-layout .client-skip-link:focus { transform: translateY(0); }
.client-layout .client-language-error { position: relative; padding: .75rem 1rem; background: #fff1f0; color: #922018; text-align: center; }
.client-layout .client-map-marker { color: #002a61; font-size: 28px; line-height: 24px; text-align: center; text-shadow: 0 1px 3px #fff; }
/* Login keeps its existing Bootstrap 4.1 markup and bundle. */
.client-login .auth-wrapper { min-block-size: 100vh; padding: 5rem 1rem 2rem; }
.client-login > .main-wrapper > .language-switcher { position: absolute; inset-block-start: 1rem; inset-inline-end: 1rem; z-index: 2; }
.client-login .auth-box { inline-size: 100%; max-inline-size: 26rem; margin: 0; }
.client-login .language-switcher select { padding: .5rem; border: 1px solid #ccd3db; background: #fff; color: #222; border-radius: .5rem; }
.client-login .input-group-prepend { margin: 0; margin-inline-end: -1px; }
.client-login .input-group > .form-control { border-radius: 0; border-start-end-radius: .5rem; border-end-end-radius: .5rem; }
.client-login .input-group-text { border-radius: 0; border-start-start-radius: .5rem; border-end-start-radius: .5rem; }
.client-login [data-valmsg-for] { float: none; }
.client-login .custom-checkbox { display: flex; align-items: center; gap: .5rem; }
.client-login .custom-checkbox label { margin: 0; }
@media (min-width: 992px) and (max-width: 1199.98px) {
    .client-layout .navbar-nav .nav-link { padding-inline: .45rem; font-size: .875rem; }
    .client-layout .language-switcher { margin-inline: .4rem; }
    .client-layout .navbar-brand { margin-inline-end: .5rem; }
    .client-layout .logo-img { inline-size: 125px; }
}
@media (max-width: 991.98px) {
    .client-layout .navbar-collapse { padding-block-start: .75rem; }
    .client-layout .navbar-nav .nav-link { min-block-size: 44px; }
    .client-layout .language-switcher { margin-inline: 0; margin-block: .75rem; }
    .client-layout .dropdown-menu { max-inline-size: 100%; }
}
@media (max-width: 767.98px) {
    .client-layout .about-proof__item { border-inline-end: 0; }
    .client-layout :is(.contact-layout, .career-layout, .company-header, .profile-grid, .board-grid) { grid-template-columns: minmax(0, 1fr); }
    .client-layout .project-hero-overlay { inset-inline-start: 5%; max-inline-size: 90%; }
    .client-layout .modern-tabs { flex-wrap: wrap; gap: .25rem; }
}
@media (max-width: 575.98px) {
    .client-layout .about-story .row { --bs-gutter-x: 1.5rem; }
    .client-layout :is(.projects-toolbar, .services-toolbar, .form-row, .info-grid, .branches-grid) { display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem; }
    .client-layout .pagination-modern { flex-wrap: wrap; gap: .375rem; }
    .client-layout .pagination-modern a { min-inline-size: 44px; min-block-size: 44px; }
    .client-layout .gallery-lightbox__panel { inset-inline: .5rem; }
    .client-layout .slide-caption { max-inline-size: 100%; }
    .client-layout .career-card { padding: 1.25rem; }
}
@media (prefers-reduced-motion: reduce) {
    .client-layout *, .client-layout *::before, .client-layout *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
    .client-layout [data-aos] { opacity: 1 !important; transform: none !important; }
}
