/* Contact page – rebuilt to match inspiration and site palette */

:root {
    --container-max: 1100px;
    --container-pad: clamp(16px, 3vw, 32px);
    --text: #0e0e0e;
    --muted: #6b6b6b;
    --border: #e8e8e8;
    --accent: #0f3b2a; /* deep green used across site */
    --accent-contrast: #ffffff;
    --surface: #ffffff;
    --surface-alt: #f8f6f2; /* subtle beige */
}

/* Base */
.contact-main { font-family: 'Alliance', system-ui, -apple-system, sans-serif; color: var(--text); padding-top: 80px; }
.container { max-width: var(--container-max); margin: 0 auto; padding: 0 var(--container-pad); }

/* Ensure shared fixed navbar is visible on this page */
.navbar { position: fixed; top: 0; left: 0; right: 0; z-index: 9999; }
/* Ensure sidebar overlays navbar */
.sidebar-overlay { z-index: 10000 !important; }
.sidebar { z-index: 10001 !important; }

/* Scroll effect styles (same as other pages) */
.navbar.scrolled { 
    background: rgba(255, 255, 255, 0.95) !important; 
    backdrop-filter: blur(10px) !important; 
    -webkit-backdrop-filter: blur(10px) !important; 
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1) !important; 
    transition: all 0.3s ease !important; 
}
.navbar.scrolled .brand-name { color: #000 !important; }
.navbar.scrolled .phone-number { color: #000 !important; }
.navbar.scrolled .nav-separator { background-color: #000 !important; }
.navbar.scrolled .nav-icon { color: #000 !important; }
.navbar.scrolled .nav-icon svg { stroke: #000 !important; }
.navbar.scrolled .hamburger-menu span { background-color: #000 !important; }

/* Hero */
.contact-hero { padding: clamp(32px, 6vw, 64px) 0 clamp(16px, 3vw, 24px); border-bottom: 1px solid var(--border); }
.contact-title { font-size: clamp(2rem, 4.5vw, 3rem); font-weight: 600; margin: 0 0 12px 0; }
.contact-intro { max-width: 760px; font-size: clamp(0.95rem, 1.6vw, 1.0625rem); line-height: 1.65; color: var(--muted); margin: 0 0 20px; }
.faq-btn { display: inline-block; border: 1px solid var(--text); color: var(--text); text-decoration: none; padding: 10px 16px; border-radius: 6px; font-weight: 600; }
.faq-btn:hover { background: var(--text); color: #fff; }

/* Blocks */
.contact-block { padding: clamp(28px, 5vw, 56px) 0; border-bottom: 1px solid var(--border); background: var(--surface); }
.block-grid { display: grid; grid-template-columns: 0.7fr 1.3fr; gap: clamp(16px, 3vw, 48px); align-items: start; }
.block-title { font-size: clamp(1.25rem, 2.8vw, 1.5rem); margin: 6px 0 0; font-weight: 600; }
.block-content { display: grid; gap: 10px; }
.byemail-sub { color: var(--muted); margin: 0 0 8px; }

/* Call us */
.phone-link { color: #000; font-weight: 400; font-size: clamp(1.1rem, 2.6vw, 1.25rem); text-decoration: none; }
.phone-link:hover { text-decoration: underline; }
.availability { color: var(--muted); margin: 0; }

/* Form */
.lc-form { display: grid; gap: 14px; }
.form-row { display: grid; gap: 6px; }
.form-label { font-weight: 500; }
.select-wrap { position: relative; display: inline-grid; width: min(100%, 560px); }
.select-wrap select { appearance: none; -webkit-appearance: none; width: 100%; padding: 12px 36px 12px 12px; border: 1px solid var(--border); background: #fff; font-family: 'Alliance', sans-serif; }
.select-caret { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); color: #999; pointer-events: none; }

.radios { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; }
.radio { display: inline-flex; align-items: center; gap: 8px; }

.lc-form input[type="text"],
.lc-form input[type="email"],
.lc-form input:not([type]),
.lc-form textarea { width: min(100%, 560px); padding: 12px; border: 1px solid var(--border); background: #fff; font-family: 'Alliance', sans-serif; }
.lc-form textarea { min-height: 120px; resize: vertical; }

.half-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.half-grid .form-row input, .half-grid .phone-input { width: 100%; }

.phone-input { display: grid; grid-template-columns: auto 1fr; border: 1px solid var(--border); }
.phone-input .country { border: 0; border-right: 1px solid var(--border); padding: 0 8px; background: #fff; font-family: 'Alliance', sans-serif; }
.phone-input input { border: 0; padding: 12px; }

.consent { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 10px; color: var(--muted); }
.privacy-link { color: var(--text); text-decoration: underline; }

.submit-btn { display: inline-flex; align-items: center; justify-content: center; background: var(--text); color: #fff; padding: 12px 18px; border: 0; font-weight: 600; border-radius: 6px; }
.submit-btn:hover { background: #000; }

/* Cards */
.card-list { display: grid; gap: 12px; }
.card-link { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; text-decoration: none; color: #fff; padding: 18px; border: 1px solid #000; background: #000; }
.card-text { display: grid; gap: 4px; }
.card-title { font-weight: 700; color: #fff; }
.card-desc { display: block; color: #e6e6e6; font-size: 0.95rem; }
.card-arrow { font-size: 18px; color: #fff; }
.card-link:hover { background: #0a0a0a; }

/* Footer minimal (reuse site footer colors) */
.site-footer { background: #111; color: #ddd; }
.footer-wrapper { max-width: var(--container-max); margin: 0 auto; padding: clamp(24px, 4vw, 48px) var(--container-pad); }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid #333; padding-top: 14px; }
.footer-left { color: #aaa; }

/* Responsive */
@media (max-width: 1024px) {
    .block-grid { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
    .half-grid { grid-template-columns: 1fr; }
    .faq-btn { width: 100%; text-align: center; }
}


