/* Contact page theme: beige & black palette + requested small tweaks
   - Icons (office/telephone/mail) are visually tinted to beige via CSS filters
   - Footer logo (bottom) is centered and tinted beige
   - Footer email link is beige
   - "Get In Touch" hover becomes green
   - Navbar links hover become green
   - Minimal changes only to colors/filters/alignment as requested
*/

/* color variables (used inline where helpful) */
:root {
    --beige: #e8dcc6;
    --black: #111111;
    --accent-green: #77a24f;
    --accent-green-shadow: rgba(119, 162, 79, 0.12);
}

/* base reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background-color: var(--beige);
    color: var(--black);
}

/* Make navbar logo image appear as black silhouette and nav link hover green */
nav .logo img {
    filter: grayscale(1) brightness(0) contrast(1);
    width: 40px;
    height: auto;
    vertical-align: middle;
    margin-right: 8px;
}

/* nav links default color — keep dark; on hover become green */
nav .nav-links li a {
    color: var(--black);
    text-decoration: none;
    padding: 6px 8px;
    display: inline-block;
}

nav .nav-links li a:hover {
    color: var(--accent-green);
}

/* Main hero area */
.contact-main {
    height: 65vh;
    padding: 45px 0;
}

.contact-main-bg img {
    object-fit: cover;
    width: 100%;
    height: 65vh;
}

/* Contact details container */
.contact-details-section {
    padding: 86px 0;
    position: relative;
}

.details-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -2;
}

/* Header panel */
.detsec-head {
    display: flex;
    width: 80%;
    margin: 0 auto;
    justify-content: space-between;
    align-items: center;
    background-color: var(--black);
    /* black header */
    margin-top: -5rem;
    border-top-left-radius: 5px;
    border-bottom-right-radius: 5px;
    padding: 1rem 3rem;
}

/* Left-head text */
.left-head p {
    color: var(--beige);
    font-size: 1.1rem;
    font-weight: 600;
    padding-bottom: 0.7rem;
}

.left-head h3 {
    font-size: 1.8rem;
    color: var(--beige);
}

.right-head {
    width: 45%;
    color: var(--beige);
}

/* Content layout */
.detsec-content {
    width: 70%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    margin-top: 4rem;
}

/* Left column boxes (address / phone / mail) */
.left-content {
    width: 26%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.left-content img {
    width: 40px;
    height: 40px;
}

/* change box backgrounds to black/beige theme with light-green shadow/border */
.leftcont-boxs {
    background-color: var(--black);
    /* black card */
    border: 1px solid rgba(119, 162, 79, 0.28);
    /* light-green border */
    display: flex;
    border-radius: 0.5rem;
    padding: 1.5rem 0.9rem 2.5rem 0.9rem;
    justify-content: flex-start;
    gap: 16px;
    align-items: center;
    color: var(--beige);
    box-shadow: 0 12px 30px var(--accent-green-shadow);
    /* light green glow */
}

/* Tint the vector/icon images to beige using filters (keeps them visually beige) */
.leftcont-boxs img {
    filter: grayscale(1) sepia(1) saturate(2) hue-rotate(-10deg) brightness(0.95);
    /* ensure icons don't stretch layout */
    width: 40px;
    height: 40px;

    object-fit: contain;
}

/* Inner text */
.boxs-text {
    width: auto;
    font-size: 0.95rem;
    text-align: left;
    
}

.boxs-text p:nth-child(1) {
    font-weight: 600;
}

/* Right column (form) — beige surface with light-green border/shadow */
.right-content {
    background-color: #f7f2e6;
    /* very pale beige for form surface */
    border: 1px solid rgba(119, 162, 79, 0.18);
    /* subtle green border */
    width: 70%;
    border-radius: 1rem;
    padding: 2.5rem 2rem;
    box-shadow: 0 14px 40px rgba(119, 162, 79, 0.08);
    /* light green lift */
}

/* Form layout/typography */
.right-content form {
    height: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    color: var(--black);
}

.rightcont-inp {
    display: flex;
    flex-direction: column;
    width: 46%;
}

.rightcont-inp:nth-child(5) {
    width: 100%;
}

/* Inputs: keep readable, black text on white */
.right-content form input {
    padding: 0.65rem 1rem;
    border: none;
    margin-top: 0.4rem;
    margin-bottom: 1.5rem;
    border-radius: 2px;
    font-size: 1rem;
    color: rgb(17, 17, 17);
    border: 1px solid rgba(17, 17, 17, 0.08);
    outline: none;
    background-color: #ffffff;
}

.right-content form ::placeholder {
    font-size: 12px;
    color: #8C8C8C;
}

.right-content form input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Message container */
#msg-container {
    background-color: #ffffff;
    border-radius: 2px;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.65rem 1rem;
    border: 1px solid rgba(17, 17, 17, 0.08);
}

#message {
    border: none;
    resize: none;
    height: 90px;
    line-height: 1rem;
    font-size: 1rem;
    scrollbar-width: none;
    color: var(--black);
    background: transparent;
}

#message:focus {
    outline: none;
}

/* Submit button: black bg with beige text, hover -> beige bg with black text */
#sub-btn {
    align-self: end;
    background-color: var(--black);
    border: none;
    color: var(--beige);
    padding: 0.7rem 1.5rem;
    font-size: 0.9rem;
    border-radius: 1.5rem;
    cursor: pointer;
    transition: background 0.18s ease, color 0.18s ease, transform 0.12s ease;
    box-shadow: 0 8px 22px rgba(17, 17, 17, 0.08);
}

#sub-btn:hover {
    background-color: var(--beige);
    color: var(--black);
    transform: translateY(-2px);
}

/* Banner (call-to-action) */
.contact-banner {
    background-color: var(--black);
    align-content: center;
    padding: 2rem 0;
}

.ban-content {
    width: 65%;
    margin: auto;
    display: flex;
    justify-content: space-between;
}

.bancont-text {
    color: var(--beige);
    align-content: center;
}

.bancont-text h4 {
    font-size: 1.2rem;
}

.bancont-text p {
    font-size: 1rem;
    color: #f1e9d9;
    /* pale beige */
}

.bancont-btn {
    text-align: center;
    align-content: center;
}

/* CTA button on banner: beige background and black text; border light-green
   Hover requested to be green — sets to accent green on hover */
.bancont-btn a {
    background-color: var(--beige);
    text-decoration: none;
    color: var(--black);
    padding: 0.95rem 1.9rem;
    border-radius: 1.5rem;
    border: 1px solid rgba(119, 162, 79, 0.2);
    box-shadow: 0 10px 30px rgba(119, 162, 79, 0.10);
    transition: background 0.18s ease, color 0.18s ease, transform 0.12s ease;
}

.bancont-btn a:hover {
    background-color: var(--accent-green);
    /* green on hover */
    color: #ffffff;
    transform: translateY(-2px);
}

/* Footer adjustments to match theme */
/* Footer background and text */
footer {
    background: var(--black);
    color: var(--beige);
}

/* Center the footer logo column and tint the bottom logo to beige */
.footer-column1 {
    text-align: center;
    /* center contents as requested */
}

.footer-column1 img {
    filter: grayscale(1) sepia(1) saturate(2) hue-rotate(-10deg) brightness(0.95);
    width: 300px;
    margin-top: 5px;
    height: auto;
    display: block;
    margin: 0 auto 12px;
}
.footer-column1 img {
  width: 250px!important;
  height: auto!important;
  /* controlled size */
  margin-top: 0!important;
  margin-bottom: 10px !important;
}

/* Ensure footer text and links are beige */
.foot-columns .footer-column1 h4,
.foot-columns .footer-column1 p,
.foot-columns .footer-column2 a,
.foot-columns .footer-column3 li {
    color: var(--beige);
}
/* Make footer email link explicitly beige */
#foot-email a {
    color: var(--beige) !important;
    text-decoration: none;
}

/* small tweaks keep responsive behavior identical to before */
@media screen and (max-width:1290px) {
    .left-head {
        width: 50%;
    }

    .detsec-content {
        width: 80%;
    }
}

@media screen and (max-width:1024px) {
    .detsec-head {
        width: 85%;
    }

    .left-head {
        width: 57%;
    }

    .right-head {
        width: 45%;
    }

    .detsec-content {
        width: 85%;
    }

    .ban-content {
        width: 75%;
    }
}

@media screen and (max-width:950px) {
    .detsec-head {
        display: flex;
        flex-direction: column;
        width: 80%;
        justify-content: space-between;
        align-items: start;
    }

    .left-head {
        width: 100%;
    }

    .right-head {
        width: 100%;
        margin-top: 1rem;
    }

    .contact-details-section {
        height: auto;
    }

    .detsec-content {
        flex-direction: column;
        gap: 2.5rem;
    }

    .left-content {
        width: 100%;
        flex-direction: row;
    }

    .leftcont-boxs {
        display: flex;
        width: 48%;
    }

    .right-content {
        width: 100%;
    }

    .ban-content {
        width: 85%;
    }

    .bancont-btn a {
        padding: 0.8rem 1.7rem;
    }
}

@media screen and (max-width:768px) {
    .detsec-head {
        width: 85%;
    }

    .leftcont-boxs {
        flex-direction: column;
        gap: 1rem;
        padding: 1.5rem 0.2rem 2.5rem 0.2rem;
    }

    .detsec-content {
        width: 95%;
    }

    .ban-content {
        flex-direction: column;
        text-align: center;
        gap: 1.5rem;
    }

    .bancont-btn a {
        padding: 0.7rem 1.4rem;
        font-size: 0.85rem;
    }
}

@media screen and (max-width:580px) {
    .detsec-content {
        width: 85%;
    }

    .left-content {
        flex-direction: column;
    }

    .leftcont-boxs {
        width: 100%;
        padding: 1rem 0.2rem;
    }

    .right-content form {
        flex-direction: column;
    }

    .rightcont-inp {
        width: 100%;
    }
}
@media (max-width: 580px) {
    .leftcont-boxs {
        width: 100%;
    }
}


@media screen and (max-width:480px) {
    .ban-content {
        width: 95%;
    }

    .left-head h3 {
        font-size: 1.5rem;
    }

    .bancont-text h4 {
        font-size: 1.02rem;
    }

    .bancont-text p {
        font-size: 0.85rem;
    }

    .bancont-btn a {
        padding: 0.5rem 1.2rem;
        font-size: 0.8rem;
    }
}
/* ===== FINAL OVERRIDE: reduce gap above footer logo ===== */

/* Reduce bottom space of banner */
.contact-banner {
  padding-bottom: 0rem !important;
  margin-top: 0rem !important;
}

/* Reduce top padding of footer */
footer {
  padding-top: 1rem !important;
}

/* Tighten footer logo spacing */
.footer-column1 img {
  margin-top: 0 !important;
  margin-bottom: 8px !important;
}

/* Remove any accidental top margin on footer column */
.footer-column1 {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
