
/* =================================================================
   CONTACT US PAGE — CT-specific CSS
   ================================================================= */

/* ── HERO ───────────────────────────────────────────────────────── */
.ct-hero {
    position:relative;background:linear-gradient(160deg,#0A1628 0%,#0D2040 60%,#0A1F3A 100%);
    padding:80px 0 72px;overflow:hidden;
}
.ct-hero-glow {
    position:absolute;top:-100px;right:-100px;width:560px;height:560px;
    background:radial-gradient(circle,rgba(46,196,182,.16) 0%,transparent 70%);pointer-events:none;
}
.ct-hero-inner { display:grid;grid-template-columns:1fr 480px;gap:56px;align-items:center; }

.ct-eyebrow {
    display:inline-flex;align-items:center;gap:7px;
    font-size:.78rem;font-weight:700;color:#2EC4B6;text-transform:uppercase;letter-spacing:.08em;
    margin-bottom:18px;
}
.ct-hero h1 { font-size:2.3rem;font-weight:800;color:#fff;line-height:1.2;margin-bottom:14px; }
.ct-hero h1 em { display:block;font-style:normal;font-size:1.05rem;font-weight:500;color:#94A3B8;margin-top:8px; }
.ct-hero-sub { font-size:.95rem;color:#CBD5E1;line-height:1.75;margin-bottom:20px; }

.ct-hero-checks { list-style:none;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:9px; }
.ct-hero-checks li { display:flex;align-items:center;gap:9px;font-size:.88rem;color:#CBD5E1; }
.ct-hero-checks svg { flex-shrink:0; }

.ct-hero-ctas { display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px; }
.btn-ct-call {
    display:flex;align-items:center;gap:8px;
    background:#fff;color:#0A1628;font-weight:700;font-size:.92rem;
    padding:13px 22px;border-radius:12px;text-decoration:none;
    transition:background .2s,transform .2s;
}
.btn-ct-call:hover { background:#F0FDFA;transform:translateY(-1px); }
.btn-ct-wa {
    display:flex;align-items:center;gap:8px;
    background:#25D366;color:#fff;font-weight:700;font-size:.92rem;
    padding:13px 22px;border-radius:12px;text-decoration:none;
    transition:opacity .2s,transform .2s;
}
.btn-ct-wa:hover { opacity:.9;transform:translateY(-1px); }
.btn-ct-book {
    display:flex;align-items:center;gap:8px;
    background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);
    color:#fff;font-weight:600;font-size:.9rem;
    padding:13px 22px;border-radius:12px;text-decoration:none;
    transition:background .2s;
}
.btn-ct-book:hover { background:rgba(255,255,255,.18); }

.ct-urgency {
    display:flex;align-items:center;gap:7px;
    font-size:.82rem;color:#FCD34D;
}

.ct-hero-img { position:relative;border-radius:20px;overflow:hidden; }
.ct-hero-img img { width:100%;height:440px;object-fit:cover;display:block; }
.ct-hero-overlay {
    position:absolute;inset:0;
    background:linear-gradient(180deg,transparent 60%,rgba(10,22,40,.5) 100%);
}
.ct-hero-badge {
    position:absolute;bottom:20px;left:20px;
    display:flex;align-items:center;gap:8px;
    background:rgba(255,255,255,.95);border-radius:12px;padding:10px 16px;
    font-size:.87rem;font-weight:700;color:#0A1628;
    box-shadow:0 4px 16px rgba(0,0,0,.2);
}
.ct-hero-badge span strong { color:#F59E0B; }

/* ── QUICK CONTACT CARDS ────────────────────────────────────────── */
.ct-cards { background:#fff;padding:0;margin-top:-28px;position:relative;z-index:10; }
.ct-cards-grid {
    display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
    padding:0 0 0;
}
.ct-card {
    background:#fff;border:1px solid #E5E7EB;border-radius:18px;padding:24px 20px;
    display:flex;gap:16px;align-items:flex-start;text-decoration:none;
    box-shadow:0 4px 20px rgba(10,22,40,.08);
    transition:transform .2s,box-shadow .2s,border-color .2s;
}
.ct-card:hover { transform:translateY(-3px);box-shadow:0 12px 32px rgba(10,22,40,.12); }
.ct-card-icon {
    flex-shrink:0;width:48px;height:48px;border-radius:13px;
    display:flex;align-items:center;justify-content:center;
}
.ct-card-call { border-color:#BFDBFE; }
.ct-card-call .ct-card-icon { background:linear-gradient(135deg,#1E40AF,#3B82F6);color:#fff; }
.ct-card-call:hover { border-color:#3B82F6; }
.ct-card-wa { border-color:#BBF7D0; }
.ct-card-wa .ct-card-icon { background:#25D366;color:#fff; }
.ct-card-wa:hover { border-color:#25D366; }
.ct-card-location .ct-card-icon { background:linear-gradient(135deg,#0A1628,#1B6FD8);color:#2EC4B6; }
.ct-card-hours .ct-card-icon { background:linear-gradient(135deg,#92400E,#F59E0B);color:#fff; }
.ct-card-body h3 { font-size:.92rem;font-weight:700;color:#0A1628;margin-bottom:6px; }
.ct-card-body p { font-size:.83rem;color:#374151;line-height:1.5;margin:0 0 2px; }
.ct-card-action { display:block;margin-top:10px;font-size:.8rem;font-weight:700;color:#1B6FD8;text-decoration:none; }
.ct-card-emergency { color:#EF4444 !important; }

/* ── FORM + WA BLOCK ────────────────────────────────────────────── */
.ct-form-section { padding:80px 0;background:#F8FAFF; }
.ct-form-inner { display:grid;grid-template-columns:1fr 420px;gap:40px;align-items:start; }

.ct-form-wrap {
    background:#fff;border:1px solid #E5E7EB;border-radius:24px;padding:40px;
    box-shadow:0 4px 24px rgba(10,22,40,.07);
}
.ct-form-header { margin-bottom:28px; }
.ct-form-header h2 { font-size:1.5rem;font-weight:800;color:#0A1628;margin-bottom:8px; }
.ct-form-header p { font-size:.88rem;color:#4B5563;line-height:1.65; }

.ct-field { display:flex;flex-direction:column;gap:7px;margin-bottom:18px; }
.ct-field label { font-size:.85rem;font-weight:700;color:#374151; }
.ct-req { color:#EF4444; }
.ct-optional { font-weight:400;color:#9CA3AF; }
.ct-field input,
.ct-field select,
.ct-field textarea {
    padding:12px 16px;border:1.5px solid #E5E7EB;border-radius:12px;
    font-size:.9rem;color:#0A1628;background:#fff;
    transition:border-color .2s,box-shadow .2s;outline:none;
    font-family:inherit;width:100%;box-sizing:border-box;
}
.ct-field input:focus,
.ct-field select:focus,
.ct-field textarea:focus {
    border-color:#2EC4B6;box-shadow:0 0 0 3px rgba(46,196,182,.12);
}
.ct-field select { appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B7280' stroke-width='1.5' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center; }
.ct-field textarea { resize:vertical;min-height:100px; }
.ct-field-row { display:grid;grid-template-columns:1fr 1fr;gap:16px; }

.ct-submit-btn {
    width:100%;display:flex;align-items:center;justify-content:center;gap:10px;
    background:linear-gradient(135deg,#2EC4B6,#1B6FD8);
    color:#fff;font-weight:800;font-size:1rem;border:none;cursor:pointer;
    padding:15px 24px;border-radius:14px;
    transition:opacity .2s,transform .2s;
}
.ct-submit-btn:hover { opacity:.9;transform:translateY(-1px); }
.ct-form-note {
    display:flex;align-items:center;gap:7px;margin-top:14px;
    font-size:.79rem;color:#9CA3AF;justify-content:center;
}
.ct-form-success {
    display:flex;gap:14px;align-items:flex-start;
    background:#ECFDF5;border:1px solid #A7F3D0;border-radius:14px;padding:20px;
    margin-bottom:24px;
}
.ct-form-success strong { display:block;font-size:.95rem;font-weight:700;color:#065F46;margin-bottom:6px; }
.ct-form-success p { font-size:.86rem;color:#374151;margin:0;line-height:1.65; }
.ct-form-success a { color:#1B6FD8;font-weight:600; }
.ct-form-error {
    background:#FEF2F2;border:1px solid #FECACA;border-radius:12px;
    padding:12px 16px;font-size:.86rem;color:#991B1B;margin-bottom:18px;
}

/* WhatsApp block */
.ct-wa-block {
    background:linear-gradient(160deg,#064E3B,#065F46);
    border-radius:24px;padding:36px 32px;color:#fff;
    position:sticky;top:24px;
}
.ct-wa-top { display:flex;align-items:center;gap:16px;margin-bottom:16px; }
.ct-wa-icon {
    width:64px;height:64px;border-radius:16px;background:#25D366;
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.ct-wa-top h3 { font-size:1.15rem;font-weight:800;margin-bottom:4px; }
.ct-wa-top p { font-size:.83rem;color:#A7F3D0;margin:0; }
.ct-wa-desc { font-size:.88rem;color:#D1FAE5;line-height:1.7;margin-bottom:20px; }
.ct-wa-desc strong { color:#fff; }

.ct-wa-steps { display:flex;flex-direction:column;gap:10px;margin-bottom:24px; }
.ct-wa-step {
    display:flex;align-items:center;gap:12px;font-size:.85rem;color:#A7F3D0;
}
.ct-wa-step span {
    flex-shrink:0;width:26px;height:26px;border-radius:50%;background:#25D366;
    display:flex;align-items:center;justify-content:center;
    font-size:.78rem;font-weight:800;color:#fff;
}

.ct-wa-btn {
    display:flex;align-items:center;justify-content:center;gap:10px;width:100%;
    background:#25D366;color:#fff;font-weight:800;font-size:.95rem;
    border-radius:14px;padding:15px 20px;text-decoration:none;
    transition:background .2s,transform .2s;margin-bottom:20px;
}
.ct-wa-btn:hover { background:#22C55E;transform:translateY(-1px); }

.ct-wa-trust { display:flex;justify-content:center;gap:20px;flex-wrap:wrap; }
.ct-wa-trust-item { display:flex;align-items:center;gap:6px;font-size:.79rem;color:#A7F3D0; }

/* ── MAP SECTION ────────────────────────────────────────────────── */
.ct-map-section { padding:80px 0;background:#fff; }
.ct-map-inner { display:grid;grid-template-columns:1fr 520px;gap:48px;align-items:start; }
.ct-eyebrow-sm {
    display:inline-block;font-size:.75rem;font-weight:700;color:#2EC4B6;
    text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;
}
.ct-map-info h2 { font-size:1.7rem;font-weight:800;color:#0A1628;margin-bottom:24px; }

.ct-address-card {
    background:#F9FAFB;border:1px solid #E5E7EB;border-radius:18px;
    padding:28px 24px;margin-bottom:24px;display:flex;flex-direction:column;gap:18px;
}
.ct-addr-row { display:flex;gap:14px;align-items:flex-start; }
.ct-addr-row svg { flex-shrink:0;margin-top:3px; }
.ct-addr-row strong { display:block;font-size:.92rem;font-weight:700;color:#0A1628;margin-bottom:4px; }
.ct-addr-row p { font-size:.85rem;color:#374151;margin:0;line-height:1.6; }
.ct-addr-row a { color:#0A1628;text-decoration:none;font-weight:700; }
.ct-addr-row a:hover { color:#1B6FD8; }
.ct-landmark { font-size:.8rem;color:#6B7280;margin-top:4px; }

.ct-directions-btn {
    display:inline-flex;align-items:center;gap:8px;margin-top:4px;
    background:linear-gradient(135deg,#0A1628,#1B6FD8);
    color:#fff;font-weight:700;font-size:.87rem;
    padding:11px 20px;border-radius:12px;text-decoration:none;
    transition:opacity .2s,transform .2s;
}
.ct-directions-btn:hover { opacity:.9;transform:translateY(-1px); }

.ct-nearby-areas { margin-top:4px; }
.ct-areas-label { font-size:.83rem;font-weight:700;color:#374151;margin-bottom:10px; }
.ct-area-chips { display:flex;flex-wrap:wrap;gap:8px; }
.ct-area-chips span {
    font-size:.78rem;font-weight:600;color:#1E40AF;
    background:#EFF6FF;border:1px solid #BFDBFE;border-radius:20px;padding:4px 12px;
}

/* ── WHY CONTACT ────────────────────────────────────────────────── */
.ct-why { padding:80px 0;background:#F8FAFF; }
.ct-section-header { text-align:center;margin-bottom:48px; }
.ct-section-header h2 { font-size:1.9rem;font-weight:800;color:#0A1628;margin-bottom:10px; }
.ct-section-header p { font-size:.92rem;color:#4B5563;max-width:540px;margin:0 auto;line-height:1.7; }
.ct-why-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:20px; }
.ct-why-card {
    display:flex;gap:16px;align-items:flex-start;
    background:#fff;border:1px solid #E5E7EB;border-radius:18px;padding:24px 20px;
    transition:transform .2s,box-shadow .2s,border-color .2s;
}
.ct-why-card:hover { transform:translateY(-3px);box-shadow:0 8px 24px rgba(46,196,182,.1);border-color:#A7F3D0; }
.ct-why-icon {
    flex-shrink:0;width:48px;height:48px;border-radius:13px;
    display:flex;align-items:center;justify-content:center;
}
.ct-why-card > div:last-child { flex:1; }
.ct-why-card strong { display:block;font-size:.92rem;font-weight:700;color:#0A1628;margin-bottom:5px; }
.ct-why-card p { font-size:.84rem;color:#4B5563;line-height:1.65;margin:0; }

/* ── FINAL CTA ──────────────────────────────────────────────────── */
.ct-final-cta {
    position:relative;background:linear-gradient(160deg,#0A1628,#0D2040);
    padding:80px 0;overflow:hidden;
}
.ct-final-glow {
    position:absolute;top:-80px;left:40%;
    width:500px;height:400px;
    background:radial-gradient(circle,rgba(46,196,182,.14) 0%,transparent 70%);pointer-events:none;
}
.ct-final-inner {
    display:grid;grid-template-columns:1fr 380px;gap:48px;align-items:center;position:relative;
}
.ct-final-content h2 { font-size:2rem;font-weight:800;color:#fff;margin-bottom:14px; }
.ct-final-content > p { font-size:.95rem;color:#CBD5E1;line-height:1.75;margin-bottom:28px; }
.ct-final-btns { display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px; }
.btn-ct-final-call {
    display:flex;align-items:center;gap:8px;
    background:#fff;color:#0A1628;font-weight:800;font-size:.93rem;
    padding:14px 24px;border-radius:12px;text-decoration:none;
    transition:background .2s,transform .2s;
}
.btn-ct-final-call:hover { background:#F0FDFA;transform:translateY(-1px); }
.btn-ct-final-wa {
    display:flex;align-items:center;gap:8px;
    background:#25D366;color:#fff;font-weight:800;font-size:.93rem;
    padding:14px 24px;border-radius:12px;text-decoration:none;
    transition:opacity .2s,transform .2s;
}
.btn-ct-final-wa:hover { opacity:.9;transform:translateY(-1px); }
.btn-ct-final-book {
    display:flex;align-items:center;gap:8px;
    background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);
    color:#fff;font-weight:700;font-size:.93rem;
    padding:14px 24px;border-radius:12px;text-decoration:none;
    transition:background .2s;
}
.btn-ct-final-book:hover { background:rgba(255,255,255,.18); }
.ct-final-note { font-size:.82rem;color:#64748B; }
.ct-final-img img {
    width:100%;height:280px;object-fit:cover;border-radius:16px;
    box-shadow:0 16px 48px rgba(0,0,0,.3);
}

/* ── WHATSAPP FLOATING ──────────────────────────────────────────── */
.ct-wa-float {
    position:fixed;bottom:96px;right:24px;z-index:998;
    width:58px;height:58px;border-radius:50%;background:#25D366;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 4px 20px rgba(37,211,102,.45);
    transition:transform .2s,box-shadow .2s;
    text-decoration:none;
}
.ct-wa-float:hover { transform:scale(1.1);box-shadow:0 8px 30px rgba(37,211,102,.6); }

/* ── MOBILE STICKY BAR ──────────────────────────────────────────── */
.ct-sticky-bar {
    display:none;
    position:fixed;bottom:0;left:0;right:0;z-index:999;
    background:#fff;border-top:1px solid #E5E7EB;
    box-shadow:0 -4px 20px rgba(0,0,0,.12);
    padding:10px 16px;
    grid-template-columns:1fr 1fr 1fr;gap:8px;
}
.ct-sticky-btn {
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
    border-radius:12px;padding:10px 6px;font-size:.75rem;font-weight:700;text-decoration:none;
}
.ct-sticky-call { background:#EFF6FF;color:#1E40AF; }
.ct-sticky-wa   { background:#25D366;color:#fff; }
.ct-sticky-book { background:linear-gradient(135deg,#0A1628,#1B6FD8);color:#fff; }

/* ── CT RESPONSIVE ──────────────────────────────────────────────── */
@media(max-width:1200px){
    .ct-hero-inner { grid-template-columns:1fr 380px;gap:40px; }
    .ct-form-inner { grid-template-columns:1fr 360px; }
    .ct-map-inner { grid-template-columns:1fr 420px; }
}
@media(max-width:1024px){
    .ct-hero-inner { grid-template-columns:1fr; }
    .ct-hero-img { display:none; }
    .ct-cards-grid { grid-template-columns:repeat(2,1fr); }
    .ct-form-inner { grid-template-columns:1fr; }
    .ct-wa-block { position:static; }
    .ct-map-inner { grid-template-columns:1fr; }
    .ct-final-inner { grid-template-columns:1fr; }
    .ct-final-img { display:none; }
    .ct-why-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:768px){
    .ct-hero { padding:56px 0 72px; }
    .ct-hero h1 { font-size:1.8rem; }
    .ct-hero-ctas { flex-direction:column; }
    .btn-ct-call,.btn-ct-wa,.btn-ct-book { justify-content:center; }
    .ct-cards-grid { grid-template-columns:1fr; }
    .ct-form-wrap { padding:28px 20px; }
    .ct-field-row { grid-template-columns:1fr; }
    .ct-form-section,.ct-map-section,.ct-why,.ct-final-cta { padding:56px 0; }
    .ct-why-grid { grid-template-columns:1fr; }
    .ct-why-card { flex-direction:column;gap:12px; }
    .ct-final-content h2 { font-size:1.6rem; }
    .ct-final-btns { flex-direction:column; }
    .btn-ct-final-call,.btn-ct-final-wa,.btn-ct-final-book { justify-content:center; }
    .ct-wa-float { bottom:80px;right:16px;width:52px;height:52px; }
    .ct-sticky-bar { display:grid; }
    body { padding-bottom:72px; }
}
@media(max-width:480px){
    .ct-hero-checks li { font-size:.83rem; }
    .ct-wa-block { padding:28px 20px; }
    .ct-wa-trust { gap:12px; }
}
