/* Site footer v2 (includes/footer.php). Scoped to .dd-footer. */
.dd-footer { --line:rgba(147,185,255,.18); --muted:#a9c1e6;
    position:relative; padding-top:72px; color:#dbe8ff; font-family:Arial,Helvetica,sans-serif;
    background:radial-gradient(900px 360px at 85% 0,rgba(37,99,235,.18),transparent 60%),linear-gradient(180deg,#071428 0%,#050e1f 100%);
    border-top:1px solid var(--line); }
.dd-footer *, .dd-footer *::before, .dd-footer *::after { box-sizing:border-box; }
.dd-footer .ddf-wrap { width:100%; max-width:1280px; margin:0 auto; padding:0 24px; }
.dd-footer a { color:inherit; text-decoration:none; }
.dd-footer a:focus-visible, .dd-footer button:focus-visible { outline:3px solid #93b9ff; outline-offset:3px; border-radius:6px; }

/* call-to-action band */
.dd-footer .ddf-cta {
    display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap; margin-bottom:64px; padding:clamp(26px,4vw,44px);
    border:1px solid rgba(147,185,255,.28); border-radius:26px;
    background:radial-gradient(500px 220px at 100% 0,rgba(255,255,255,.18),transparent 60%),linear-gradient(135deg,#1d4ed8 0%,#0f2f7a 100%);
    box-shadow:0 26px 70px rgba(0,0,0,.4);
}
.dd-footer .ddf-cta h2 { margin:0 0 8px; max-width:24ch; font-size:clamp(24px,3vw,34px); font-weight:800; line-height:1.15; letter-spacing:-.025em; color:#fff; }
.dd-footer .ddf-cta p { margin:0; max-width:46ch; color:#d3e1f7; font-size:16px; line-height:1.6; }
.dd-footer .ddf-cta__actions { display:flex; gap:12px; flex-wrap:wrap; }
.dd-footer .ddf-btn { display:inline-flex; align-items:center; gap:10px; min-height:52px; padding:0 24px; border-radius:14px; font-size:15px; font-weight:800; transition:transform .2s, background .2s, border-color .2s; }
.dd-footer .ddf-btn svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.dd-footer .ddf-btn--primary { background:#ffc107; color:#1b2635; box-shadow:0 10px 24px rgba(255,193,7,.32); }
.dd-footer .ddf-btn--primary:hover { background:#ffcf33; transform:translateY(-2px); }
.dd-footer .ddf-btn--ghost { background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.35); color:#fff; }
.dd-footer .ddf-btn--ghost:hover { background:rgba(255,255,255,.22); transform:translateY(-2px); }

/* link grid */
.dd-footer .ddf-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1.1fr 1.3fr; gap:40px; padding-bottom:52px; }
.dd-footer .ddf-logo { display:inline-block; margin-bottom:18px; padding:9px 13px; border-radius:10px; background:#fff; }
.dd-footer .ddf-logo img { display:block; height:26px; width:auto; }
.dd-footer .ddf-brand p { margin:0 0 22px; max-width:34ch; color:var(--muted); font-size:15px; line-height:1.7; }
.dd-footer .ddf-social { display:flex; flex-wrap:wrap; gap:10px; }
.dd-footer .ddf-social__link { display:inline-grid; place-items:center; width:42px; height:42px; border-radius:12px; border:1px solid var(--line); background:rgba(255,255,255,.05); color:#dbe8ff; transition:background .2s, border-color .2s, transform .2s, color .2s; }
.dd-footer .ddf-social__link svg { width:19px; height:19px; }
.dd-footer .ddf-social__link:hover { background:#2563eb; border-color:#2563eb; color:#fff; transform:translateY(-3px); }
.dd-footer h3 { margin:6px 0 18px; font-size:12.5px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:#fff; }
.dd-footer ul { list-style:none; margin:0; padding:0; display:grid; gap:11px; }
.dd-footer li a { color:var(--muted); font-size:15px; transition:color .2s, padding .2s; }
.dd-footer li a:hover { color:#fff; padding-left:4px; }
.dd-footer address { margin-top:18px; font-style:normal; display:grid; gap:12px; }
.dd-footer address p { margin:0; color:var(--muted); font-size:14px; line-height:1.55; }
.dd-footer address strong { display:block; margin-bottom:2px; color:#fff; font-size:13px; }

/* bottom bar */
.dd-footer .ddf-bottom { border-top:1px solid var(--line); background:rgba(0,0,0,.22); }
/* bottom padding keeps the copyright line clear of the fixed call / WhatsApp / chat buttons */
.dd-footer .ddf-bottom__row { display:flex; align-items:center; justify-content:flex-start; gap:16px 28px; flex-wrap:wrap; padding-top:20px; padding-bottom:96px; }
.dd-footer .ddf-bottom p { margin:0; color:#8fa8d0; font-size:13.5px; line-height:1.6; }
.dd-footer .ddf-bottom p a { color:#cfe0ff; font-weight:700; } .dd-footer .ddf-bottom p a:hover { color:#fff; text-decoration:underline; }
.dd-footer .ddf-top { display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:999px; border:1px solid var(--line); background:rgba(255,255,255,.05); color:#dbe8ff; font:inherit; font-size:13.5px; font-weight:700; cursor:pointer; transition:background .2s, transform .2s; }
.dd-footer .ddf-top svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.dd-footer .ddf-top:hover { background:rgba(255,255,255,.14); transform:translateY(-2px); }

@media (max-width:1100px) {
    .dd-footer .ddf-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px 32px; }
    .dd-footer .ddf-brand { grid-column:1/-1; }
}
@media (max-width:640px) {
    .dd-footer { padding-top:52px; }
    .dd-footer .ddf-wrap { padding:0 18px; }
    .dd-footer .ddf-cta { margin-bottom:44px; border-radius:22px; }
    .dd-footer .ddf-cta__actions, .dd-footer .ddf-btn { width:100%; justify-content:center; }
    .dd-footer .ddf-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 20px; }
    .dd-footer .ddf-contact { grid-column:1/-1; }
}
@media (prefers-reduced-motion:reduce) { .dd-footer *, .dd-footer *::before { transition:none !important; } .dd-footer .ddf-social__link:hover, .dd-footer .ddf-btn:hover, .dd-footer .ddf-top:hover { transform:none; } }
