/*
 * ============================================================
 * HUBLER DESIGN SYSTEM — Global Page Override v2.0
 *
 * Nuclear approach: universal * selector sets font-family on
 * every element directly, beating all Webflow class-level
 * font-family declarations (474 of them, none using !important).
 *
 * Injection order: last <link> in <head> — wins cascade tie.
 *
 * DS rules:
 *   • Space Grotesk 700 → all headings
 *   • DM Sans → all body / UI text
 *   • #0A84FF → single blue accent
 *   • #0A1A41 → dark sections (flat, no gradient)
 *   • 24px card radius, 10px button radius
 *   • No decorative gradients
 * ============================================================
 */

/* ── 1. Fonts (Google Fonts CDN) ─────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap');

/* ── 2. CSS Custom Property Overrides ────────────────────── */
:root {
  --hub-purple:              #0A84FF;
  --hub-light-purple:        #EBF4FF;
  --hub-purple-dark:         #0076E5;
  --black:                   #0A1A41;
  --purple:                  #0A84FF;
  --white:                   #FFFFFF;
  --h-card-radius:           24px;
  --h-button-radius:         10px;
}

/* ── 3. UNIVERSAL FONT RESET ─────────────────────────────── */
/*
 * Sets font-family directly on every element, not just body.
 * This outranks all 474 Webflow class-level font-family rules
 * (which have no !important). The universal selector applies
 * to the element itself — body inheritance doesn't help against
 * explicit class declarations.
 */
*,
*::before,
*::after {
  font-family: 'DM Sans', sans-serif !important;
}

/* ── 4. Heading font override (on top of universal) ─────── */
/*
 * Re-apply Space Grotesk specifically to heading elements and
 * any element whose class contains a heading/title keyword.
 * These !important declarations beat the * rule above because
 * more-specific selectors with !important in the same stylesheet
 * win when declared later (same origin, same importance level →
 * source order decides).
 */
h1, h2, h3, h4, h5, h6,
[class*="heading"], [class*="Heading"],
[class*="-title"], [class*="_title"],
[class*="h1-"], [class*="h2-"], [class*="h3-"],
[class*="-h1"], [class*="-h2"], [class*="-h3"],
.heading_2, .hero-title, .hero-heading,
.sol-title, .h6-heading, .v3-h6-heading,
.step_heading, .h1-_white, .h1_pricing,
.pricing-card-title, .pricing-title,
.reason-why-grid-title-h4,
.v3-h1-title-span-left,
.v3-addon-accrodion-title,
.template_desc_title, .template_desc_heading,
.ds_section_title-_part_1,
.about-hero-title, .part_hero_col_2 h1 {
  font-family: 'Space Grotesk', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
}

/* ── 5. Nav text stays DM Sans (already covered by *) ────── */
.v3-uui-navbar08_item-heading {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #0A1A41 !important;
}

/* ── 6. Navigation ───────────────────────────────────────── */
.v3-navbar,
.v3-uui-navbar08_component {
  background: #FFFFFF !important;
  border-bottom: 1px solid #E8EFF8 !important;
  box-shadow: 0 1px 8px rgba(10, 26, 65, 0.06) !important;
}

.v3-uui-navbar08_dropdown-link:hover .v3-uui-navbar08_item-heading {
  color: #0A84FF !important;
}

/* ── 7. Buttons — primary filled ─────────────────────────── */
/*
 * Target any element that is a button-like link:
 * .w-button covers 90% of Webflow CTA anchors;
 * additional specific classes for pages that bypass it.
 */
.w-button,
.v3-nav-anim-btn-kwad,
.v3-anim-btn-kwad,
.submit-button-6,
.manuf-button,
.franchise-hero-btn,
.franchise-btn-absolute-img a,
.partner_main_btn,
.vr-retail-slider-btn,
.v3-manuf-callout-button-swiper,
.hubler-kwad-btn-div a,
.hero-btn-wrap a,
.call-out-buttons a,
.pp_sub_btn,
.pricing-main-button {
  background: #0A84FF !important;
  background-color: #0A84FF !important;
  background-image: none !important;
  color: #FFFFFF !important;
  border-radius: 10px !important;
  border: none !important;
  font-weight: 600 !important;
  transition: background-color 0.15s ease !important;
  box-shadow: none !important;
}

.w-button:hover,
.v3-nav-anim-btn-kwad:hover,
.manuf-button:hover,
.franchise-hero-btn:hover,
.partner_main_btn:hover,
.pricing-main-button:hover,
.pp_sub_btn:hover {
  background: #0076E5 !important;
  background-color: #0076E5 !important;
  background-image: none !important;
  color: #FFFFFF !important;
}

/* Secondary / ghost buttons */
.v3-uui-button-secondary-gray,
.v3-mob-signin-btn {
  border-radius: 10px !important;
  color: #0A1A41 !important;
  border-color: #D0DCF0 !important;
  background: transparent !important;
  background-image: none !important;
}

/* ── 8. Contact-us & Career custom buttons ───────────────── */
/* ch-btn is in inline <style> in contact-us / career pages */
.ch-btn {
  border: 1.5px solid #0A84FF !important;
  color: #0A84FF !important;
  border-radius: 10px !important;
  font-weight: 500 !important;
}
.ch-btn:hover {
  background: #0A84FF !important;
  color: #FFFFFF !important;
}

/* ── 9. Cards ────────────────────────────────────────────── */
.card-slide,
.m-content-slide-card,
.stack_card-6,
.card-2,
.ds_card,
.operation-card-mask,
.price-box,
.ch-card {
  border-radius: 24px !important;
  background: #FFFFFF !important;
  border: 1px solid #E8EFF8 !important;
  box-shadow: 0 2px 16px rgba(10, 26, 65, 0.06) !important;
}

/* ── 10. Dark sections — flat #0A1A41 ───────────────────── */
[class*="dark-section"],
[class*="dark-bg"],
[class*="navy"] {
  background: #0A1A41 !important;
  background-image: none !important;
}

/* ── 11. Hero gradient sections → DS light tint ─────────── */
/* Contact-us (.ch-hero) and Career (.cr-hero) inline gradients */
.ch-hero,
.cr-hero {
  background: #F0F6FF !important;
  background-image: none !important;
}

/* Pricing hero */
.sec_pricing-title {
  background-color: #F0F6FF !important;
  background-image: none !important;
}

/* ── 13. Colour: purple/violet → DS blue ────────────────── */
/* CSS-var-based colours inherit from :root (section 2 above).
   Catch any hardcoded link colours too. */
a:hover { color: #0A84FF; }

/* ── 14. Forms ───────────────────────────────────────────── */
input, textarea, select,
.w-input, .w-select {
  border-radius: 10px !important;
  border: 1px solid #D0DCF0 !important;
  color: #0A1A41 !important;
}
input:focus, textarea:focus, .w-input:focus {
  border-color: #0A84FF !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(10, 132, 255, 0.15) !important;
}

/* ── 15. Pricing cards specifics ────────────────────────── */
.h1_pricing,
.pricing-card-title {
  color: #0A1A41 !important;
}

/* Pricing card CTA — uses the animated nav-btn-kwad structure */
.price-box .v3-nav-anim-btn-kwad,
.pricing-box-wrap .v3-nav-anim-btn-kwad {
  background-color: #0A84FF !important;
  border-radius: 10px !important;
  background-image: none !important;
}

/* ── 16. DS section blocks ──────────────────────────────── */
.ds_section_subtitle_part,
.ds_section_body,
.template_desc_subtitle {
  color: #4A5568 !important;
}

/* ── 17. Utility ────────────────────────────────────────── */
.grey-clr {
  color: #4A5568 !important;
}

/* Decorative paint strokes — tone down */
.v3-paint-stroke,
.vr-paint-stroke-angle {
  opacity: 0.6 !important;
}

/* ── 18. Gradient text → DS blue ───────────────────────── */
/*
 * Webflow used cyan/teal→pink gradients on heading spans.
 * DS rule: one accent (#0A84FF). No gradients anywhere.
 * Strip background-clip:text and force solid DS blue.
 */
.v3-grad,
.v3-h1-title-span .span-bg,
.v3-perecent,
.v3-client-text-color,
.cta-link,
.text-span-12,
.text-span-13,
.v3-explore-more.v3-text-style-underline,
.v3-explore-more.v3-text-style-underline.v3-text-grad-clr,
.v3-explore-more.sol-explore,
[class*="imagine-best-in-class"] {
  background-image: none !important;
  background-color: transparent !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: #0A84FF !important;
  color: #0A84FF !important;
}

/* Gradient hover states — keep solid blue */
.v3-explore-more.v3-text-style-underline.v3-text-grad-clr:hover {
  background-color: transparent !important;
  -webkit-text-fill-color: #0076E5 !important;
  color: #0076E5 !important;
}
