/* Header dropdowns */
.nav-dd { position: relative; padding: .6rem 0; }
.nav-dd > a { white-space: nowrap; }
.nav-dd-menu { display: none; position: absolute; top: 100%; left: -1rem; min-width: 600px; columns: 2; column-gap: 1rem; padding: 1rem; background: #fff; border: 1px solid rgba(0,0,0,.06); border-radius: 1rem; box-shadow: 0 20px 50px rgba(0,0,0,.12); z-index: 1100; }
.nav-dd:hover .nav-dd-menu, .nav-dd:focus-within .nav-dd-menu { display: block; }
.nav-dd-menu a { display: block; break-inside: avoid; padding: .45rem .7rem; border-radius: .6rem; font-weight: 500; font-size: .92rem; }
.nav-dd-menu a:hover { background: rgba(79,70,229,.08); color: var(--color-primary); }

/* Mobile menu */
.mobile-nav > li { border-bottom: 1px solid #f0f0f4; padding: .6rem 0; }
.mobile-nav a { color: var(--color-text); text-decoration: none; font-weight: 500; }
.mobile-nav a:hover { color: var(--color-primary); }

/* Footer */
.footer-contact li { margin-bottom: .4rem; }
.site-footer .social-links a { display: inline-flex; width: 38px; height: 38px; align-items: center; justify-content: center; border-radius: 50%; background: #fff; border: 1px solid #e5e7eb; margin: 0 .4rem 0 0; }
.site-footer .social-links a:hover { background: var(--color-primary); color: #fff; border-color: var(--color-primary); }

/* WhatsApp floating button */
.wa-float { position: fixed; right: 20px; bottom: 20px; width: 56px; height: 56px; border-radius: 50%; background: #25d366; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.8rem; box-shadow: 0 10px 30px rgba(37,211,102,.4); z-index: 1200; text-decoration: none; }
.wa-float:hover { color: #fff; transform: translateY(-2px); }

/* Contact block */
.contact-info-card { background: #fff; border: 1px solid rgba(0,0,0,.05); border-radius: 1.25rem; box-shadow: 0 4px 20px rgba(0,0,0,.05); padding: 1.75rem; height: 100%; }
.contact-info-card a { color: var(--color-text); text-decoration: none; }
.contact-info-card a:hover { color: var(--color-primary); }

/* Blog content */
.post-content img { max-width: 100%; height: auto; border-radius: .75rem; }
.post-content h2, .post-content h3 { margin-top: 1.5rem; }

html { scroll-behavior: smooth; }

/* Announcement bar */
.announce-bar { background: var(--color-primary); color: #fff; }
.announce-bar a { color: #fff; text-decoration: underline; margin-left: .5rem; font-weight: 600; }
