/* About skills - 3 columns */
#about ul {
    grid-template-columns: repeat(3, minmax(100px, 1fr)) !important;
}

/* Hero resume button - match social icon height */
#hero a.btn:not(.social-icon) {
    padding: 0.5rem 1.25rem;
    font-size: 0.9rem;
}

/* Carousel top indicators */
.carousel-indicators-top {
    display: flex;
    justify-content: center;
    gap: 8px;
}

.carousel-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid var(--primary-color);
    background-color: transparent;
    padding: 0;
    cursor: pointer;
    transition: background-color 0.2s;
}

.carousel-dot.active {
    background-color: var(--primary-color);
}

.carousel-dot:hover {
    background-color: var(--primary-color);
    opacity: 0.6;
}

/* Carousel slide - JS sets min-height dynamically */

/* Carousel rows - match education card style */
.carousel-row {
    background-color: var(--secondary-color);
    border-radius: 1.5rem;
    box-shadow: 0px 8px 56px rgb(15 80 100 / 16%);
    border: 2px solid var(--text-secondary-color);
    min-height: 220px;
}

.carousel-img {
    max-height: 180px;
    width: 100%;
    object-fit: contain;
}

/* Content column layout */
.carousel-row .col-md-8 {
    display: flex;
    flex-direction: column;
}

.carousel-description {
    opacity: 0.9;
}

.carousel-contributions {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0.5rem;
}

.carousel-contributions li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 4px;
    opacity: 0.9;
}

.carousel-contributions li::before {
    content: "\25B9";
    color: var(--primary-color);
    position: absolute;
    left: 0;
}

/* Title row: title left, links right */
.carousel-links {
    white-space: nowrap;
}

.carousel-links a {
    color: var(--primary-color) !important;
    text-decoration: none;
}

.carousel-links .btn-outline-primary {
    border-color: var(--primary-color) !important;
    color: var(--primary-color) !important;
    border-radius: 0.5rem;
    transition: none;
}

.carousel-links .btn-outline-primary:hover {
    opacity: 0.7;
}

.carousel-links .btn-outline-primary:focus {
    box-shadow: none;
}

/* Badges in carousel - align with title */
.carousel-row .badge {
    background-color: var(--background-color) !important;
    color: var(--text-color) !important;
    margin: 0 2px 0 0;
}

/* Carousel controls */
.carousel-control-prev,
.carousel-control-next {
    width: 5%;
    opacity: 0.6;
}

.carousel-control-prev:hover,
.carousel-control-next:hover {
    opacity: 1;
}

.carousel-control-prev-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e") !important;
}

.carousel-control-next-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") !important;
}

/* Experience - match education card style */
#experience .experience-container {
    border-radius: 1.5rem;
    border: 2px solid var(--text-secondary-color);
}

#experience .tab-content {
    min-height: 200px;
}

/* Achievements carousel cards */
#achievements .carousel-inner {
    min-height: 280px;
}

#achievements .carousel-item > .row {
    min-height: 260px;
}

#achievements .carousel-item .card {
    background-color: var(--secondary-color) !important;
    border-radius: 1rem;
    box-shadow: 0 0 36px rgba(0,0,0,0.1);
    transition: box-shadow .2s linear, opacity .2s linear;
    border: 2px solid transparent;
}

#achievements .carousel-item a.card {
    cursor: alias;
}

#achievements .carousel-item .card h5 {
    color: var(--text-color) !important;
    opacity: 0.9;
}

#achievements .carousel-item .card:hover {
    border: 2px solid var(--text-color);
    transition: .3s;
}

#achievements .carousel-item .card-text {
    background-color: var(--secondary-color) !important;
    color: var(--text-secondary-color) !important;
}

/* Responsive */
@media (max-width: 767.98px) {
    .carousel-inner {
        min-height: auto;
    }

    .carousel-item > .container {
        min-height: auto;
    }

    .carousel-row {
        min-height: auto;
    }

    #achievements .carousel-inner {
        min-height: auto;
    }

    #achievements .carousel-item > .row {
        min-height: auto;
    }
}
