/* about_me.html styling. */
.avatar-circle {
width: 56px;
height: 56px;
border-radius: 50%;
display: inline-flex;
align-items: center;
justify-content: center;
background: #f2f4f7;
color: #1f2a37;
letter-spacing: 1px;
}

.about-card {
transition: transform 180ms ease, box-shadow 180ms ease;
}

.about-card:hover {
transform: translateY(-3px);
box-shadow: 0 .75rem 1.5rem rgba(0,0,0,.10) !important;
}

.text-justified {
text-align: justify;
hyphens: auto;
text-align-last: left;
}
.about-hero {
max-height: 520px;
}

.about-hero-img {
height: 520px;
object-fit: cover;
object-position: center 40%;
}

.about-hero-overlay {
position: absolute;
inset: 0;
background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.55),
    rgba(0, 0, 0, 0.15),
    rgba(0, 0, 0, 0)
);
}

/* all_projects.html styling */
.project-card {
cursor: pointer;
transition: transform 180ms ease, box-shadow 180ms ease;
}

.project-card:hover {
transform: translateY(-4px);
box-shadow: 0 .75rem 1.5rem rgba(0,0,0,.12) !important;
}


/* base.html styling */
.nav-link.nav-cta {
        position: relative;
        padding: 0.5rem 0.85rem;
        border-radius: 999px;
        font-weight: 600;
        color: #111827;
        transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
    }

.nav-link.nav-cta:hover {
    background-color: #32acfc;
    color: #111827;
    transform: translateY(-1px);
}

.nav-link.nav-cta.active {
    background-color: #111827;
    color: #ffffff;
}

.navbar-brand-group {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

@media (max-width: 768px) {
    .navbar-brand-group {
        flex-wrap: wrap;
        gap: 0.35rem;
    }

    .navbar-toggler {
        margin-left: auto;
    }

    .navbar .navbar-brand.nav-cta {
        display: inline-flex;
        align-items: center;
        padding: 0.35rem 0.55rem;
        margin-right: 0.25rem;
        margin-bottom: 0.25rem;
        font-size: 0.82rem;
    }

    .navbar .navbar-collapse {
        margin-top: 0.65rem;
    }

    .navbar .navbar-nav {
        gap: 0.35rem;
    }

    .navbar .nav-link.nav-cta {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.55rem 0.9rem;
        font-size: 0.95rem;
    }

    .navbar .nav-item.nav-right {
        align-self: flex-end;
    }

    .navbar .nav-item.nav-right .nav-link.nav-cta {
        justify-content: flex-end;
        text-align: right;
    }
}

@media (max-width: 480px) {
    .navbar-brand-group {
        flex-wrap: nowrap;
    }

    .navbar .navbar-brand.nav-cta {
        font-size: 0.75rem;
        padding: 0.3rem 0.45rem;
    }
}

/* certificates.html styling */
.cert-card {
transition: transform 180ms ease, box-shadow 180ms ease;
}
.cert-card:hover {
transform: translateY(-3px);
box-shadow: 0 .75rem 1.5rem rgba(0,0,0,.10) !important;
}

/* Pop frame */
.certificate-frame {
background: #fff;
padding: 0.9rem;
border-radius: 1rem;
border: 1px solid rgba(0,0,0,.08);
box-shadow: 0 .75rem 2rem rgba(0,0,0,.15);
}

/* Slight hover zoom on thumbnail */
.certificate-img {
border-radius: 0.75rem;
transition: transform 200ms ease, box-shadow 200ms ease;
}
.certificate-img:hover {
transform: scale(1.02);
box-shadow: 0 .5rem 1.25rem rgba(0,0,0,.20);
}

/* In fullscreen modal, give it more breathing room */
.modal-frame {
box-shadow: 0 1.25rem 3rem rgba(0,0,0,.18);
}

.section-line {
flex-grow: 1;
height: 2px;
background: linear-gradient(
to right,
rgba(0, 0, 0, 0.35),
rgba(0, 0, 0, 0.08)
);
}

/* detail.html styling */
.detail-carousel .carousel-indicators [data-bs-target] {
    background-color: #696b68;
    opacity: 0.55;
}

.detail-carousel .carousel-indicators .active {
    opacity: 0.95;
}

.detail-carousel {
    width: 100%;
    max-width: 472px;
    margin: 0 auto;
}

.detail-carousel-frame {
    width: 100%;
    aspect-ratio: 472 / 312;
}

.detail-carousel .carousel-inner,
.detail-carousel .carousel-item {
    width: 100%;
    height: 100%;
}

.detail-image {
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    height: 100%;
    object-fit: contain;
    cursor: zoom-in;
}

.detail-layout {
    column-gap: 2.5rem;
}

@media (max-width: 767.98px) {
    .detail-media-col {
    margin-bottom: 1.5rem;
    }
}

.detail-description {
    text-align: justify;
    hyphens: auto;
    text-align-last: left;
}

.detail-modal-image {
    width: 100%;
    max-height: 88vh;
    object-fit: contain;
    border-radius: 12px;
    box-shadow: 0 18px 55px rgba(0, 0, 0, 0.35);
    background-color: #0f1115;
}

#detailImageModal .modal-dialog {
    max-width: min(1100px, 95vw);
}

/* index.html styling */
.projects-carousel {
    width: 100%;
    max-width: 472px;
    margin: 0 auto;
}

.projects-carousel-frame {
    width: 100%;
    aspect-ratio: 472 / 312;
}

.projects-carousel .carousel-inner,
.projects-carousel .carousel-item {
    width: 100%;
    height: 100%;
}

.projects-carousel-image {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.projects-carousel .carousel-indicators [data-bs-target] {
    background-color: #696b68;
    opacity: 0.55;
}

.projects-carousel .carousel-indicators .active {
    opacity: 0.95;
}

/* resume.html styling */
.resume-card {
transition: transform 180ms ease, box-shadow 180ms ease;
}
.resume-card:hover {
transform: translateY(-3px);
box-shadow: 0 .75rem 1.5rem rgba(0,0,0,.10) !important;
}