/*
Intermont Custom Stylesheet
---------------------------------
Table of Contents:
1. Root Variables & Body
2. Typography & Helper Classes
3. Buttons & Form Elements
4. Section: Hero
5. Section: Features (JV Page)
6. Section: Partner Form (JV Page)
7. Section: Showcase & Testimonial
8. Section: Footer
9. Projects Page: Filters
10. Projects Page: Grid & Cards
11. Project Detail Page: Main Content & Specs
12. Responsive Styles (Desktop View)
*/


/* --- 1. Root Variables & Body --- */
:root {
    --font-primary: 'Hanken Grotesk', sans-serif;
    --font-secondary: 'Kaisei Decol', serif;
    --font-tertiary: 'Manrope', sans-serif;
    --color-gold: #dac07b;
    --color-gold-dark: #cea947;
    --color-dark: #000000;
    --color-light: #ffffff;
    --color-background: #eeeae7;
    --color-text-primary: #000000;
    --color-text-secondary: #272727;
}

body {
    background-color: var(--color-background);
    font-family: var(--font-primary);
    color: var(--color-text-primary);
    font-size: 1vw; /* Mobile base font size */
    font-weight: 300;
}

/* --- 2. Typography & Helper Classes --- */
.body-text {
    line-height: 1.6;
}
.section-tag {
    color: var(--color-gold-dark);
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.875rem;
    letter-spacing: 0.01em;
    margin-bottom: 1rem;
}
.section-title {
    font-family: var(--font-secondary);
    font-weight: 400;
    font-size: 2rem; /* Mobile */
    line-height: 1.2;
    color: var(--color-text-primary);
}

/* --- 3. Buttons & Form Elements --- */
.btn-dark-custom {
    background-color: var(--color-dark);
    color: var(--color-light);
    border-radius: 0;
    padding: 0.75rem 2rem;
    font-weight: 300;
}
.btn-dark-custom:hover {
    background-color: #333;
    color: var(--color-light);
}
.btn-light-custom {
    background-color: var(--color-light);
    color: var(--color-dark);
    border-radius: 50px;
    padding: 0.5rem 1.5rem;
    font-weight: 600;
    font-size: 0.85rem;
}
.btn-light-custom:hover {
    background-color: #f0f0f0;
    color: var(--color-dark);
}

/* --- 4. Section: Hero --- */
.hero-section {
    background: linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.3)), url('img2/Background Image.png') no-repeat center center;
    background-size: cover;
    height: 70vh;
    min-height: 450px;
    color: var(--color-light);
}
.hero-logo {
    height: 25px;
}
.hero-title {
    font-family: var(--font-secondary);
    font-size: 2.25rem; /* Mobile hero title size */
    line-height: 1.2;
    font-weight: 400;
}


/* --- 5. Section: Features (JV Page) --- */
.features-section {
    background-color: var(--color-gold);
}
.feature-item {
    padding-top: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
.features-section .container .feature-item:last-child {
    border-bottom: none;
}
.feature-title {
    font-family: var(--font-tertiary);
    font-weight: 500;
    font-size: 1.25rem;
    line-height: 1.4;
    margin-bottom: 0.5rem;
}
.feature-description {
    font-size: 0.875rem;
    line-height: 1.5;
    font-weight: 300;
}


/* --- 6. Section: Partner Form (JV Page) --- */
.partner-form-section .form-control {
    border: 1px solid var(--color-dark);
    border-radius: 0;
    padding: 0.75rem 1rem;
}
.partner-form-section .form-label-group {
    font-weight: 300;
    margin-bottom: 0.5rem;
}
.partner-form-section .form-check-label {
    font-weight: 600;
}
.partner-form-section .form-check-input:checked {
    background-color: var(--color-dark);
    border-color: var(--color-dark);
}

/* --- 7. Section: Showcase & Testimonial --- */
.blockquote-custom {
    font-family: var(--font-secondary);
    font-size: 2rem; /* Mobile */
    line-height: 1.3;
    font-weight: 400;
    margin-top: 1rem;
}
.blockquote-footer-custom {
    font-family: var(--font-primary);
    font-size: 1rem;
    font-weight: 300;
    color: var(--color-text-primary);
    margin-top: 1rem;
}

/* --- 8. Section: Footer --- */
.footer-dark {
    background-color: var(--color-dark);
}
.footer-title {
    font-size: 2rem;
    font-weight: 300;
}
.badge-custom {
    background-color: var(--color-gold) !important;
    color: var(--color-dark) !important;
    font-size: 0.8rem;
    font-weight: 600;
}
.contact-info a {
    color: var(--color-light);
    text-decoration: none;
    font-size: 1rem;
    font-weight: 300;
}
.contact-info a:hover {
    text-decoration: underline;
}
.form-control-footer {
    background: transparent;
    border: none;
    /* border-bottom: 1px solid var(--color-light); */
    border-radius: 0;
    color: var(--color-light);
    padding: 0.5rem 0;
}
.form-control-footer::placeholder {
    color: rgba(255, 255, 255, 0.7);
}
.form-control-footer:focus {
    background: transparent;
    /* color: var(--color-light); */
    /* box-shadow: none; */
    /* border-color: var(--color-gold); */
}
.border-bottom-custom {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.footer-logo {
    height: 60px;
}
.footer-tagline {
    color: var(--color-gold-dark);
    font-weight: 500;
    font-size: 1rem;
}
.footer-text, .footer-nav li a {
    font-weight: 300;
    font-size: 0.9rem;
    color: var(--color-light);
    text-decoration: none;
}
.footer-nav li {
    margin-bottom: 0.5rem;
}
.footer-nav li a:hover {
    color: var(--color-gold);
}
.social-icons a {
    color: var(--color-dark);
    background-color: var(--color-light);
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    margin: 0 0.25rem;
    font-size: 1.2rem;
    transition: background-color 0.3s ease;
}
.social-icons a:hover {
    background-color: var(--color-gold);
}
.footer-text-small {
    font-size: 0.8rem;
    opacity: 0.7;
}

/* --- 9. Projects Page: Filters --- */
.project-filters .form-check-input {
    display: none; 
}
.project-filters .form-check-label {
    font-size: 0.8rem; 
    font-weight: 600;
    color: var(--color-text-secondary);
    cursor: pointer;
    padding-left: 1.75rem;
    position: relative;
}
.project-filters .form-check-label::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    border: 1px solid var(--color-dark);
    border-radius: 50%;
    background-color: var(--color-light);
}
.project-filters .form-check-input:checked + .form-check-label::after {
    content: '';
    position: absolute;
    left: 4px;
    top: 50%;
    transform: translateY(-50%);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: var(--color-dark);
}

/* --- 10. Projects Page: Grid & Cards --- */
.project-title {
    font-size: 1.5rem;
    font-weight: 600;
    text-transform: uppercase;
    line-height: 1.2;
    margin-bottom: 0.25rem;
}
.project-location {
    font-size: 1rem;
    margin-bottom: 0.25rem;
}
.project-status {
    font-size: 0.75rem;
    text-transform: uppercase;
    color: #555;
    margin-bottom: 0;
}

/* --- 11. Project Detail Page Styles (Corrected) --- */
#project-hero {
    background-image: linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.3)), url('img2/Background Image.png');
}
.body-text-large {
    font-size: 1.25rem;
    line-height: 1.6;
    font-weight: 300;
    margin-bottom: 1.5rem;
}
.text-link-with-icon {
    font-weight: 600;
    color: var(--color-dark);
    text-decoration: none;
    transition: color 0.3s ease;
    border: #000000 1px solid;
    background-color: #000;
    border-radius: 25vw;
    font-size: small;
}
.text-link-with-icon:hover {
    color: var(--color-gold-dark);
}
.spec-item {
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
    border-bottom: none; /* Removed border as per design */
}
.spec-item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
}
.spec-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--color-gold-dark);
    text-transform: uppercase;
    margin-bottom: 0.25rem;
}
.spec-value {
    font-size: 1rem;
    font-weight: 400;
    margin-bottom: 0;
}
.spec-map-link {
    margin-top: auto; /* Pushes this to the bottom in a flex container */
    padding-top: 1.5rem;
}

/* --- 12. Responsive Styles (Desktop View) --- */
@media (min-width: 768px) { /* md breakpoint */
    body {
        font-size: 16px; 
    }
    
    .hero-logo {
        height: 35px; 
    }
    .hero-title {
        font-size: 3.25rem;
    }
    .section-title,
    .blockquote-custom {
        font-size: 3.25rem; 
    }
    
    .feature-item {
        border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    }
    .features-section .container > .feature-item:last-child {
        border-bottom: none;
    }
    .feature-item .feature-title {
        margin-bottom: 0;
    }

    .footer-title {
        font-size: 2.125rem;
    }

    .project-filters .form-check-label {
        font-size: 1.25rem;
    }
}

@media (min-width: 992px) { /* lg breakpoint */
    /* Project Detail Page Desktop Styles */
    .project-specs {
        display: flex;
        flex-direction: column;
        height: 100%;
    }
    .spec-title {
        font-size: 1.5rem;
    }
    .spec-value {
        font-size: 1.125rem;
    }
}
