@font-face {
    font-family: 'DMSans';
    src: url('../fonts/DMSans/DMSans-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'DMSans';
    src: url('../fonts/DMSans/DMSans-Italic.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
}

@font-face {
    font-family: 'DMSans';
    src: url('../fonts/DMSans/DMSans-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'DMSans';
    src: url('../fonts/DMSans/DMSans-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'DMSans';
    src: url('../fonts/DMSans/DMSans-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'DMSans';
    src: url('../fonts/DMSans/DMSans-ExtraBold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
}

@font-face {
    font-family: 'DMSans';
    src: url('../fonts/DMSans/DMSans-Black.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: 'DMSans';
    src: url('../fonts/DMSans/DMSans-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'DMSans';
    src: url('../fonts/DMSans/DMSans-Thin.ttf') format('truetype');
    font-weight: 100;
    font-style: normal;
}

/* Apply globally */
*, body {
    font-family: 'DMSans', sans-serif !important;
}

/* Footer big text fix */
.fz-150 {
    font-size: clamp(60px, 10vw, 150px) !important;
    white-space: nowrap !important;
    line-height: 1 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Collection title fix - single line */
.at-service-item .title {
    white-space: nowrap !important;
    font-size: clamp(18px, 2.5vw, 40px) !important;
}
@media (max-width: 574.98px) {
    .at-service-item .title {
        white-space: normal !important;
        font-size: clamp(16px, 4vw, 24px) !important;
    }
}
.at-service-item .mfp-img {
    max-height: 450px !important;
    height: 450px !important;
    width: auto !important;
    object-fit: contain !important;
    margin: 0 auto !important;
}
.mfp-figure {
    max-height: 450px !important;
    overflow: hidden !important;
}
.mfp-counter {
    display: none !important;
}

/* 3D Render Full Size Popup */
.mfp-3d-render .mfp-img {
    max-height: 90vh !important;
    height: auto !important;
    max-width: 95vw !important;
}
.mfp-3d-render .mfp-figure {
    max-height: none !important;
}

/* Force top layer */
#pdf-loader {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483647 !important; /* max possible z-index */
    display: none;
    align-items: center;
    justify-content: center;
}

#flipbook-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483646 !important;
    display: none;
    align-items: center;
    justify-content: center;
}
.at-main-menu ul {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
}

.at-main-menu ul li {
    white-space: nowrap;
}
.at-header-right{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:16px;
}

.language-dropdown{
    flex-shrink:0;
}

.language-dropdown select{
    width: clamp(60px, 12vw, 70px);
    min-width: clamp(60px, 12vw, 70px);
}

.at-header-search-btn,
.at-menu-bar{
    flex-shrink:0;
}

/* =========================================
   Offcanvas / Hamburger Menu Hover Effects
   ========================================= */

/* 0. Remove transition delay entirely for instant color change */
.at-offcanvas-2-area ul li a,
.at-mobile-menu ul li a,
.offcanvas-menu ul li a,
.hamburger-menu-wrapper ul li a,
.at-menu-close {
    transition: color 0s !important; 
}

/* 1. Menu Items Hover (Brand Color Only) */
.at-offcanvas-2-area ul li a:hover,
.at-mobile-menu ul li a:hover,
.offcanvas-menu ul li a:hover,
.hamburger-menu-wrapper ul li a:hover,
.at-offcanvas-2-area .at-mobile-menu-active ul li a:hover {
    color: #c57b68 !important;
    text-shadow: none !important;
}

/* 1b. Menu Item '+' Icon Hover */
ul li:hover > .at-menu-close,
.at-menu-close:hover {
    color: #c57b68 !important;
}
ul li:hover > .at-menu-close svg,
ul li:hover > .at-menu-close svg path,
.at-menu-close:hover svg,
.at-menu-close:hover svg path {
    stroke: #c57b68 !important;
}

/* 2. Close Button ('X') - ALWAYS Brand Color */
.hamburger-close-btn,
.at-offcanvas-close {
    color: #c57b68 !important;
}

.hamburger-close-btn svg path,
.hamburger-close-btn svg line,
.hamburger-close-btn svg polyline,
.at-offcanvas-close svg path,
.at-offcanvas-close svg line {
    stroke: #c57b68 !important;
    fill: #c57b68 !important;
}

/* 3. Menu Items Font Size */
.at-offcanvas-2-area ul li a,
.at-mobile-menu ul li a,
.offcanvas-menu ul li a,
.hamburger-menu-wrapper ul li a {
    font-size: clamp(28px, 5vw, 40px) !important;
    line-height: 1.3 !important;
}

/* 4. Fix Plus (+) Icon — keep original layout, prevent clipping, align with text */
.at-offcanvas-2-wrapper .at-offcanvas-menu > nav > ul > li {
    overflow: visible !important;
    position: relative !important;
}

/* Align the + icon vertically centred with the link text, flush to right edge */
.at-offcanvas-2-wrapper .at-offcanvas-menu > nav > ul > li > .at-menu-close {
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    bottom: auto !important;
    height: 1.2em !important;       /* same as the link line-height */
    display: flex !important;
    align-items: center !important;
    pointer-events: auto !important;
}

/* =========================================
   Custom Cursor Site Logo Styling
   ========================================= */
#magic-cursor {
    position: absolute;
    display: none;
    pointer-events: none;
    z-index: 999999 !important;
    top: 0;
    left: 0;
}

#ball {
    position: fixed !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: none !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    background: transparent !important;
    border: none !important;
    mix-blend-mode: normal !important;
    box-shadow: none !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
}

#ball .cursor-logo-img {
    height: 16px !important;
    width: 16px !important;
    max-width: 16px !important;
    object-fit: contain !important;
    pointer-events: none !important;
    display: block !important;
    filter: none !important;
    box-shadow: none !important;
    transition: transform 0.25s ease, opacity 0.25s ease !important;
}

/* Footer bottom padding for back-to-top button */
@media (max-width: 991.98px) {
    .at-footer-area {
        padding-bottom: 40px !important;
    }
    .at-footer-copyright-area {
        padding-bottom: 60px !important;
    }
}

@media (max-width: 574.98px) {
    .at-footer-area {
        padding-bottom: 30px !important;
    }
    .at-footer-copyright-area {
        padding-bottom: 50px !important;
    }
}