/*
 * Sapphire Asta - Utility Classes
 * Consolidated common inline styles for cleaner HTML
 */

/* Primary brand colors */
.id-color { color: #34518F; }
.id-color-gold { color: #C9A84C; }
.gold-text { color: #C9A84C; }
.bg-primary-brand { background-color: #34518F; }
.text-primary-brand { color: #34518F; }
.text-dark-primary { color: #1A1C26; }
.text-muted-custom { color: #555; }

/* Icon sizing utilities */
.fs-40 { font-size: 40px; }
.fs-32 { font-size: 32px; }
.fs-2 { font-size: 2rem; }
.fs-4 { font-size: 1.5rem; }
.fs-1 { font-size: 1rem; }

/* Icon color utilities - primary brand */
.icon-primary { color: #34518F; }

/* Flexbox utilities */
.flex-center {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Image aspect ratio containers */
.img-aspect-4-3 {
    aspect-ratio: 4/3;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
}

.img-aspect-4-3 img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

/* Card image container */
.card-img-wrapper {
    display: block;
    border-radius: 12px;
    overflow: hidden;
}

/* Map markers */
.map-marker {
    position: absolute;
    width: 12px;
    height: 12px;
}

.map-marker.active {
    background: #34518F;
    border-radius: 50%;
}

/* Scroll buttons (careers page) */
.scroll-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    background: #34518F;
    color: #fff;
    border: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.scroll-btn-left { left: -15px; }
.scroll-btn-right { right: -15px; }

/* Read more button */
.read-more-btn {
    background: none;
    border: none;
    color: #34518F;
    cursor: pointer;
    text-decoration: underline;
    text-align: left;
    padding: 0;
    margin-bottom: 10px;
}

/* Service icon box */
.service-icon-box {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, rgba(52, 81, 143, 0.1) 0%, rgba(52, 81, 143, 0.05) 100%);
    border-radius: 12px;
    margin: 0 auto 20px;
}

.service-icon-box i {
    font-size: 32px;
    color: #34518F;
}

/* List check icons */
.list-check li i {
    color: #34518F;
}

/* Line height utilities */
.lh-1-4 { line-height: 1.4; }

/* Letter spacing */
.ls-1 { letter-spacing: 1px; }

/* Video play button */
.video-play-btn {
    width: 70px;
    height: 70px;
    font-size: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Map container */
.india-map-container {
    position: relative;
    padding: 20px;
}

/* Image filters */
.img-filter-dark {
    width: 100%;
    filter: brightness(0) invert(1) opacity(0.2);
}

/* Popup styles */
.popup-active { display: block; }

/* Overlay utilities */
.de-overlay-gradient {
    background: linear-gradient(135deg, rgba(52, 81, 143, 0.9) 0%, rgba(42, 64, 112, 0.85) 100%);
}
