/* ESBN site-wide helpers (used by Elementor classes). Edit design in Elementor; this file only holds shared hover/sticky/form rules. */
html, body { overflow-x: clip; }
body { background: #FFFFFF; }

/* Sticky header on desktop */
@media (min-width: 1025px) {
  .ekit-template-content-header { position: sticky; top: 0; z-index: 999; }
  .admin-bar .ekit-template-content-header { top: 32px; }
}
.ekit-template-content-header { box-shadow: 0 6px 24px rgba(11,31,51,0.06); }

/* Cards */
.es-card { transition: transform .25s ease, box-shadow .25s ease; }
.es-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(11,31,51,0.12) !important; }
.es-card .elementor-widget-image img { transition: transform .4s ease; }
.es-card:hover .elementor-widget-image img { transform: scale(1.03); }
.es-card .elementor-widget-image { overflow: hidden; }

/* Buttons */
.elementor-button { transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }
.elementor-button:active { transform: translateY(1px); }
.es-chip .elementor-button { cursor: pointer; }

/* Text-link style for "Explore Now" style buttons */
.es-textlink .elementor-button { padding: 0 !important; background: transparent !important; }
.es-textlink .elementor-button:hover { color: #0B1F33 !important; }

/* Footer newsletter (Contact Form 7) */
.es-newsletter { display: flex; flex-direction: column; gap: 12px; }
.es-newsletter p { margin: 0; }
.es-newsletter input[type=email] { width: 100%; box-sizing: border-box; padding: 14px 16px; border-radius: 6px; border: 1px solid rgba(255,255,255,0.25); background: rgba(255,255,255,0.06); color: #FFFFFF; font-family: Manrope, sans-serif; font-size: 15px; }
.es-newsletter input[type=email]::placeholder { color: rgba(255,255,255,0.65); }
.es-newsletter input[type=email]:focus { outline: 2px solid #C6A15B; outline-offset: 1px; }
.es-newsletter input[type=submit] { width: 100%; padding: 14px 16px; border: 0; border-radius: 6px; background: #C6A15B; color: #0B1F33; font-family: Manrope, sans-serif; font-weight: 700; font-size: 14px; letter-spacing: .04em; text-transform: uppercase; cursor: pointer; }
.es-newsletter input[type=submit]:hover { background: #D4B576; }
.es-footer .wpcf7-response-output { color: #FFFFFF; margin: 10px 0 0 !important; font-size: 13px; }
.es-footer .wpcf7-spinner { display: none; }

/* Footer link lists */
.es-footer .elementor-icon-list-item a:hover .elementor-icon-list-text { color: #C6A15B !important; }

/* Contact page form */
.es-contact-form input:not([type=submit]), .es-contact-form textarea { width: 100%; box-sizing: border-box; padding: 12px 14px; border: 1px solid #E4E2DA; border-radius: 6px; font-family: Manrope, sans-serif; }
.es-contact-form input[type=submit] { background: #C6A15B; color: #0B1F33; border: 0; border-radius: 6px; padding: 14px 28px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; cursor: pointer; }

/* ElementsKit mobile menu panel */
.ekit-wid-con .elementskit-menu-hamburger { border-color: #0B1F33 !important; }
.ekit-wid-con .elementskit-menu-hamburger .elementskit-menu-hamburger-icon { background-color: #0B1F33 !important; }

@media (prefers-reduced-motion: reduce) {
  .es-card, .es-card img, .elementor-button { transition: none !important; }
  .es-card:hover { transform: none; }
}

/* Keep words whole in headings */
.elementor-heading-title { overflow-wrap: normal; word-break: normal; hyphens: manual; }
