/* Gulfite Site Kit — extras Elementor Free can't set per widget. Everything else is editable in Elementor. */
/* Widget spacing is set per widget (Advanced → Margin), so the global 20px gap is turned off on Gulfite pages. */
body.gf-site .elementor-widget { --kit-widget-spacing: 0px !important; }
html { scroll-behavior: smooth; scroll-padding-top: 80px; }
body { background: #0B0D12; -webkit-font-smoothing: antialiased; }
.elementor a { text-decoration: none; }
.elementor .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.elementor .elementor-widget-text-editor a { color: #3DDBB0; }
.elementor .elementor-widget-text-editor a:hover { text-decoration: underline; }
:focus-visible { outline: 2px solid #3DDBB0; outline-offset: 3px; }

/* Sticky glass header */
.elementor-section.gf-header { position: sticky; top: 0; z-index: 50; backdrop-filter: saturate(140%) blur(12px); -webkit-backdrop-filter: saturate(140%) blur(12px); }
.admin-bar .elementor-section.gf-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .elementor-section.gf-header { top: 46px; } }
.gf-nav .elementor-icon-list-icon { display: none; }
.gf-header .elementor-button { white-space: nowrap; }
.gf-nav a:hover .elementor-icon-list-text { color: #F3F5F8 !important; }

/* Hero glow */
.elementor-section.gf-hero { overflow: hidden; }
.elementor-section.gf-hero::before { content: ""; position: absolute; right: -10%; top: -20%; width: 720px; height: 720px; background: radial-gradient(circle, rgba(61,219,176,.14), transparent 62%); pointer-events: none; }
.elementor-section.gf-hero::after { content: ""; position: absolute; left: -200px; top: 120px; width: 560px; height: 560px; background: radial-gradient(circle, rgba(255,106,61,.10), transparent 62%); pointer-events: none; }
.elementor-section.gf-hero > .elementor-container { position: relative; z-index: 1; }
.gf-badges .elementor-icon-list-item { border: 1px solid #1E2532; background: #111620; border-radius: 999px; padding: 7px 14px !important; margin-bottom: 8px; }
.gf-badges .elementor-icon-list-item::after { display: none !important; }
.gf-panel > .elementor-widget-wrap { box-shadow: 0 30px 80px -30px rgba(0,0,0,.7); }
.gf-chips .elementor-icon-list-item { background: #0B0D12; border: 1px solid #1E2532; border-radius: 12px; padding: 10px 14px !important; }
.gf-chips .elementor-icon-list-icon svg { width: 8px !important; height: 8px !important; filter: drop-shadow(0 0 4px #3DDBB0); }

/* Cards */
.gf-card > .elementor-widget-wrap { transition: border-color .2s ease, transform .2s ease; }
.gf-card:hover > .elementor-widget-wrap { border-color: #2C3546 !important; transform: translateY(-2px); }
.gf-answer > .elementor-widget-wrap { border-left: 3px solid #3DDBB0 !important; }
.elementor-widget-icon-box .elementor-icon { border: 1px solid #1E2532; }
.elementor-widget-icon-box .elementor-icon-box-title a { color: inherit; }
.gf-cta > .elementor-widget-wrap { background-image: radial-gradient(ellipse at top, rgba(61,219,176,.12), transparent 60%) !important; }

/* Journey line */
.gf-journey > .elementor-container { position: relative; }
.gf-journey > .elementor-container::before { content: ""; position: absolute; top: 31px; left: 10%; right: 10%; height: 2px; background: linear-gradient(90deg, #FF6A3D, #3DDBB0); opacity: .8; }
.gf-stage .elementor-icon { position: relative; z-index: 1; border: 1px solid #1E2532; background: #111620 !important; }
@media (max-width: 767px) { .gf-journey > .elementor-container::before { display: none; } }

/* Stats */
.gf-stats > .elementor-container { border: 1px solid #1E2532; border-radius: 16px; background: #111620; overflow: hidden; }
.gf-stat + .gf-stat { border-left: 1px solid #1E2532; }
.gf-grad .elementor-heading-title { background: linear-gradient(90deg, #FF6A3D, #3DDBB0); -webkit-background-clip: text; background-clip: text; color: transparent !important; }
@media (max-width: 767px) { .gf-stat:nth-child(3) { border-left: 0; } .gf-stat:nth-child(n+3) { border-top: 1px solid #1E2532; } }

/* FAQ accordion */
.gf-faq .elementor-accordion-item { border-radius: 14px; overflow: hidden; margin-bottom: 12px; border: 1px solid #1E2532 !important; }
.gf-faq .elementor-accordion-item + .elementor-accordion-item { border-top: 1px solid #1E2532 !important; }
.gf-faq .elementor-tab-content { border-top: 0 !important; }

/* Services page */
.gf-toc .elementor-icon-list-item { border: 1px solid #1E2532; background: #111620; border-radius: 999px; padding: 7px 14px !important; margin-bottom: 10px; }
.gf-toc .elementor-icon-list-item::after { display: none !important; }
.gf-toc .elementor-icon-list-icon { display: none; }
.gf-toc .elementor-icon-list-item:hover { border-color: #3DDBB0; }
.gf-crumbs a { color: #9AA3B2 !important; }
.gf-prose h2 { font-family: "Space Grotesk", sans-serif; color: #F3F5F8; font-size: 24px; margin: 1.6em 0 .5em; }
.gf-prose p { margin-bottom: 1em; }

/* Footer */
.gf-footer .elementor-icon-list-item a:hover .elementor-icon-list-text { color: #F3F5F8 !important; }
.gf-footer-bottom > .elementor-container { border-top: 1px solid #1E2532; padding-top: 22px; }
.gf-mono p { font-family: "JetBrains Mono", ui-monospace, monospace; letter-spacing: .04em; }
@media (max-width: 767px) { .gf-footer-bottom .elementor-widget-text-editor { text-align: left !important; } .gf-hide-m { display: none; } }

/* Floating WhatsApp */
.gf-wa-float { position: fixed; right: 20px; bottom: 20px; z-index: 99; width: 58px; height: 58px; border-radius: 50%; background: #25D366; display: grid; place-items: center; box-shadow: 0 12px 30px -8px rgba(37,211,102,.7); transition: transform .15s; }
.gf-wa-float:hover { transform: scale(1.06); }
.gf-wa-float svg { width: 30px; height: 30px; fill: #fff; }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }
