/* ============================================================
   NEXO SURFHOUSE — ELEMENTOR OVERRIDES & EXTRAS  v1.0.0
   ============================================================ */

/* Override Elementor container max-width */
.elementor-section.elementor-section-boxed > .elementor-container { max-width: 1280px; }
.e-con.e-con-boxed > .e-con-inner { max-width: 1280px; }

/* Typography alignment with theme */
.elementor-widget-heading .elementor-heading-title { font-family: var(--nexo-font-sans) !important; }
.elementor-widget-text-editor { font-family: var(--nexo-font-sans); line-height: 1.7; }

/* Nexo Button widget styles */
.elementor-button.nexo-elementor-btn { font-family: var(--nexo-font-sans); font-weight: 700; letter-spacing: 0.02em; transition: all 0.3s ease; }
.elementor-button.nexo-elementor-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 32px rgba(30,115,190,0.25); }

/* Loop items */
.e-loop-item .nexo-card { height: 100%; }

/* Popup overlay */
.elementor-popup-modal .dialog-widget-content { border-radius: 24px; overflow: hidden; }

/* Elementor forms match theme style */
.elementor-form .elementor-field-group .elementor-field { border-radius: 12px; border: 2px solid var(--nexo-border); font-family: var(--nexo-font-sans); transition: border-color 0.3s; }
.elementor-form .elementor-field-group .elementor-field:focus { border-color: var(--nexo-primary); outline: none; }
.elementor-form .elementor-button { font-family: var(--nexo-font-sans); font-weight: 700; border-radius: 9999px; }

/* Section spacing utility classes for Elementor */
.nexo-pt-0  { padding-top: 0 !important; }
.nexo-pb-0  { padding-bottom: 0 !important; }
.nexo-pt-sm { padding-top: 3rem !important; }
.nexo-pb-sm { padding-bottom: 3rem !important; }
.nexo-pt-md { padding-top: 5rem !important; }
.nexo-pb-md { padding-bottom: 5rem !important; }
.nexo-pt-lg { padding-top: 7rem !important; }
.nexo-pb-lg { padding-bottom: 7rem !important; }

/* Sticky header class applied via JS */
.nexo-header.is-scrolled { box-shadow: 0 4px 30px rgba(30,115,190,0.12); }
