/* Small additions on top of the mirrored Elementor CSS. */

/* Honeypot field: hidden from people, visible to naive bots. */
form .hp-field { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; margin: 0 !important; padding: 0 !important; }

/* Elementor's "stretch" dropdown width was set by JS; site.js sets it the same way. */
.elementor-nav-menu--dropdown.elementor-nav-menu__container { transition: max-height .3s, transform .3s; }

/* Form status messages (replacing WPForms' AJAX confirmations). */
.form-message { margin-top: 12px; padding: 12px 16px; border-radius: 4px; font-size: 15px; line-height: 1.4; }
.form-message.is-success { background: #e0ffc7; border: 1px solid #b4d39b; color: #2b4a14; }
.form-message.is-error { background: #fdecea; border: 1px solid #f5c2c0; color: #8a1f17; }
.wpforms-confirmation-container-full { background: #e0ffc7; border: 1px solid #b4d39b; padding: 15px 15px; color: #333; }

/* Blog index (new page; WordPress had no real one). */
.blog-index { max-width: 1140px; margin: 0 auto; padding: 60px 20px 80px; }
.blog-index h1 { margin-bottom: 30px; }
.blog-index .elementor-posts-container { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.blog-index .elementor-post__thumbnail img { width: 100%; height: auto; display: block; }
.blog-index .elementor-post__title { font-size: 20px; margin: 14px 0 8px; }
@media (max-width: 1024px) { .blog-index .elementor-posts-container { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) { .blog-index .elementor-posts-container { grid-template-columns: 1fr; } }

/* Share buttons are now <a> links (were JS-driven <div>s); undo the kit's global link typography. */
.elementor-kit-8 a.elementor-share-btn { font-size: 10px; line-height: normal; }

/* Desktop dropdowns (SmartMenus did this with jQuery). */
.elementor-nav-menu--main .menu-item-has-children { position: relative; }
.elementor-nav-menu--main .menu-item-has-children > .sub-menu { position: absolute; top: 100%; left: 0; min-width: 12em; width: max-content; z-index: 1000; }
.elementor-nav-menu--main .sub-menu .elementor-sub-item { white-space: nowrap; }
.elementor-nav-menu--main .menu-item-has-children:hover > .sub-menu,
.elementor-nav-menu--main .menu-item-has-children:focus-within > .sub-menu { display: block; }
/* Mobile dropdown: submenus open on tap. */
.elementor-nav-menu--dropdown .menu-item-has-children.is-open > .sub-menu { display: block; }
.elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown { z-index: 9999; }
.elementor-location-header { position: relative; z-index: 100; }
