:root {
    /*Font*/
    --font-title: "Flavors", cursive;
    --font-body: "SN Pro", sans-serif;
    --font-head: "Matemasie", sans-serif;
    /*Colors*/
    --dark-green: #025159;
    --light-green: #7fd677;
    --dark-yellow: #eadb87;
    --light-yellow: #eeda9e;
    --grey: #b8b8b8;
    --copper: #A67458;
    --bs-body-bg: var(--light-green);
}

body {
    color: var(--dark-green);
    font-family: var(--font-body);
}


h1, h2, h3, h4, h5, h6{
    font-family: var(--font-title);
    font-weight: 700;
    color: var(--dark-green);
}

.navbar-brand {
    font-family: var(--font-title);
    font-weight: 700;
    color: var(--light-green);
    font-size: 2rem;

}

/* ========= NAV BAR =========== */
.navbar {
    background-color: rgba(2, 81, 89, 0.85);
}

.logo {
    width: 50px;   
    height: auto;
    margin-right: 10px;
}

.nav-link {
    font-family: var(--font-body);
    color: white !important;
    font-size: 1.5rem;
}

.nav-link:hover {
    color: var(--copper) !important;
}

/* ========= HERO  =========== */
.carousel-item {
    transition: transform 0.8s ease-in-out;
}
.hero-carousel {
    height: 100vh;
    position: relative;
    overflow: hidden;
}
.hero-carousel .carousel-item img {
    height: 100vh;
    width: 100%;
    object-fit: cover;
}

.row h1 {
    font-family: var(--font-title);
    font-size: 5rem;
    color: white;
    padding-top: 150px;
}

.row h3 {
    font-family: var(--font-body);
    font-size: 2rem;
    color: var(--grey);
} 

.overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.35);
    z-index: 1;
}

.hero-title {
    position: absolute;
    z-index: 2;
    top: 80px;
    left: 40px;
    text-align: left;
    color: white;
}
.hero-title h1 {
    font-family: var(--font-title);
    font-size: 6rem;
    font-weight: 800; 
    color: white; 
    letter-spacing: 5px;
    text-shadow: 3px 3px 15px rgba(0,0,0,0.7); 
    margin-top: 0;
    margin-bottom: 20px;
}
.hero-title p {
    font-size: 1.5rem;
    margin-top: 10px;
}
 
/* ========= TRAILER SECTION =========== */
.trailer-section {
    background-color: var(--light-green);
    padding-top: 0px;
    padding-bottom: 60px;
    margin-top: 0;
}
.trailer-section h2 {
    font-family: var(--font-head);
    font-size: 4rem;
    margin-top: 0;
    margin-bottom: 30px;
    color: White;
}

.trailer-wrapper {
    max-width: 1100px;
    margin: 0 auto;
}

/* ========= ABOUT SECTION =========== */
.about-section {
    height: 100vh;              /* full screen */
    display: flex;
    align-items: center;
    background-color: var(--dark-green);
}
.about-section .row {
    padding: 0 40px;
}
.about-text {
    color: white;
    padding-left: 60px;
    padding-top: 0px;
}
.about-text h2 {
    font-family: var(--font-head);
    font-size: 4rem;
    margin-bottom: 40px;
    margin-top: 0;
    color: white;
}
.about-text p {
    font-size: 1.1rem;
    line-height: 1.6;
}

/* IMAGE RIGHT */
.about-image {
    padding-right: 60px;
    display: flex;
    align-items: center;
}
.about-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 12px;
}
.about-image .carousel-item img {
    object-fit: cover;
    height: 80vh;
}

/* ========= ARTIST SECTION =========== */
.artists-section {
    height: 100vh;
    display: flex;
    align-items: center;
    background-color: var(--light-green);
}

.artists-images {
    padding: 60px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.artists-images img {
    width: 100%;
    height: 25vh;
    object-fit: cover;
    object-position: center top;
    border-radius: 14px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
}

.artists-text {
    padding: 60px;
    color: var(--dark-green);
}
.artists-text h2 {
    font-family: var(--font-head);
    font-size: 4rem;
    margin-bottom: 20px;
    margin-top: 0;
    text-align: right;
}
.artists-text p {
    font-size: 1.3rem;
    line-height: 1.6;
    text-align: justify;
}

/* ========= CHARACTERS SECTION =========== */
.characters-title {
    font-family: var(--font-head);
    font-size: 4rem;
    color: var(--dark-green);
    text-align: center;
    letter-spacing: 2px;
}

.characters-section {
    min-height: 100vh;
    background-color: var(--light-green);
    padding: 120px 0;
}

.char-card {
    background: white;
    border-radius: 18px;
    overflow: hidden;
    text-align: center;
    transition: 0.3s ease;
    padding-bottom: 10px;
}

.char-card img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.char-card h5 {
    padding: 15px 10px;
    font-size: 3rem;
    letter-spacing: 3px;
    margin: 0;
    font-family: var(--font-title);
    color: var(--dark-green);
}

/* hover effect */
.char-card:hover {
    transform: translateY(-5px);
}

/* ========= GALLERY SECTION =========== */
.gallery-section {
    background: var(--light-green);
    padding: 120px 0;
}

.gallery-title {
    font-family: var(--font-head);
    font-size: 6rem;
    color: var(--dark-green);
}
.name {
    font-size: 80px;
    color: var(--dark-yellow);
}
.gallery-menu button {
    border: none;
    background: var(--dark-green);
    color: white;
    padding: 10px 20px;
    margin: 5px;
    border-radius: 20px;
    transition: 0.3s;
}

.gallery-menu button:hover {
    background: var(--copper);
}

.gallery-images img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    border-radius: 15px;
}

/* ========= THEMES SECTION =========== */
.hero {
    padding-top: 74px;
    height: 60vh;
    overflow: hidden;
}

.hero img {
    height: 100%;
    object-fit: cover;
}

.hero-text {
    position: absolute;
    bottom: 30px;
    left: 30px;
    color: white;
}

.lead {
    font-size: 30px;
    padding-left: 8rem;
    padding-right: 8rem;
    text-align: justify;
}

.second {
    font-size: 1.3rem;
    padding-left: 10rem;
    padding-right: 10rem;
    text-align: justify;
}
/* CARD */
.card-box {
    position: relative;
    overflow: hidden;
}

.card-a, .card-b {
    height: 50px;
}

.card-c {
    height: 100%;
}
.card-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.card-a, .card-b {
    height: calc(50% - 6px); 
}

.card-a h3, .card-b h3, .card-c h3{
    font-size: 3rem;
    font-family: var(--font-head);
    color: var(--grey);
}
/* TEXT overlay */
.card-box h3 {
  position: absolute;
  bottom: 15px;
  left: 15px;
  color: white;
}

.card-box img {
  transition: 0.4s;
}

.card-box:hover img {
  transform: scale(1.05);
}