/* ===========================
   AIToolGate - Swiss Style
   AGGRESSIVE OVERRIDE
   Space Grotesk + Orange
   =========================== */

/* DESIGN TOKENS */
:root {
    --sw-black: #0A0A0A;
    --sw-white: #FFFFFF;
    --sw-orange: #FF4D00;
    --sw-gray-100: #F5F5F5;
    --sw-gray-200: #E0E0E0;
    --sw-gray-400: #9A9A9A;
    --sw-gray-600: #5A5A5A;
}

/* CRITICAL: Load last with maximum specificity */
html body {
    background-color: #FFFFFF !important;
    color: #0A0A0A !important;
    font-family: "Space Grotesk", -apple-system, BlinkMacSystemFont, sans-serif !important;
}

/* === ELEMENTOR BUTTON OVERRIDES === */
/* These fight Elementor's inline style="" */
.elementor-button,
.elementor-button-wrapper .elementor-button,
a.elementor-button,
.elementor-button-link,
button.elementor-button,
input[type="submit"].elementor-button,
.elementor-cta__button {
    background-color: #0A0A0A !important;
    color: #FFFFFF !important;
    font-family: "Space Grotesk", sans-serif !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    padding: 16px 32px !important;
    border: 2px solid #0A0A0A !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.elementor-button:hover,
.elementor-button-wrapper .elementor-button:hover,
a.elementor-button:hover,
.elementor-button-link:hover,
button.elementor-button:hover,
input[type="submit"].elementor-button:hover,
.elementor-cta__button:hover {
    background-color: #FF4D00 !important;
    border-color: #FF4D00 !important;
    color: #FFFFFF !important;
    transform: translateY(-2px) !important;
    box-shadow: none !important;
}

/* === ELEMENTOR HEADING/TITLE OVERRIDES === */
.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title,
h1.elementor-heading-title,
h2.elementor-heading-title,
h3.elementor-heading-title,
h4.elementor-heading-title,
h5.elementor-heading-title,
h6.elementor-heading-title,
.elementor-widget-wrap > .elementor-widget > .elementor-widget-container h1,
.elementor-widget-wrap > .elementor-widget > .elementor-widget-container h2,
.elementor-widget-wrap > .elementor-widget > .elementor-widget-container h3,
.elementor-section > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget > .elementor-widget-container h2 {
    font-family: "Space Grotesk", sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: -0.03em !important;
    line-height: 1.1 !important;
    color: #0A0A0A !important;
}

h1.elementor-heading-title { font-size: clamp(48px, 6vw, 80px) !important; }
h2.elementor-heading-title { font-size: clamp(32px, 4vw, 48px) !important; }
h3.elementor-heading-title { font-size: clamp(24px, 3vw, 32px) !important; }
h4.elementor-heading-title { font-size: 24px !important; }

/* === ELEMENTOR SECTION BG OVERRIDES === */
.elementor-section {
    background-color: #FFFFFF !important;
}

.elementor-section-wrap > .elementor-section,
#main-content > .elementor-section,
.site-main .elementor-section {
    background-color: #FFFFFF !important;
}

/* Hero/dark sections - force our colors */
.elementor-editor-active .elementor-section-wrap > .elementor-section,
.elementor-section.has-background,
.elementor-section-has-background {
    background-color: #FFFFFF !important;
}

/* Inner sections */
.elementor-inner-section {
    background-color: #FFFFFF !important;
}

/* === ELEMENTOR TEXT COLOR OVERRIDES === */
.elementor-widget-text-editor p,
.elementor-widget-kit h2,
.elementor-widget-divider .elementor-divider-svg {
    color: #5A5A5A !important;
}

/* === ELEMENTOR COLUMN OVERRIDES === */
.elementor-column {
    background-color: #FFFFFF !important;
}

/* === ELEMENTOR LINK OVERRIDES === */
.elementor a {
    color: #0A0A0A !important;
    text-decoration: none !important;
}

.elementor a:hover {
    color: #FF4D00 !important;
}

/* === NAV OVERRIDES === */
.site-header,
#site-header,
header.site-header,
.main-header-wrap {
    background-color: #FFFFFF !important;
    border-bottom: 1px solid #0A0A0A !important;
    padding: 0 48px !important;
    height: 72px !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
}

.main-navigation a,
.site-navigation a,
.main-navigation li a,
#site-navigation a,
.genesis-nav-menu a,
.nav-menu a {
    font-family: "Space Grotesk", sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #0A0A0A !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
}

.main-navigation a:hover,
.site-navigation a:hover,
.main-navigation li a:hover,
#site-navigation a:hover,
.genesis-nav-menu a:hover,
.nav-menu a:hover {
    color: #FF4D00 !important;
}

/* === CATEGORY CARDS === */
.elementor-widget-card .elementor-card,
.elementor-widget-icon-box .elementor-icon-box,
.elementor-widget-image-box .elementor-image-box {
    background-color: #FFFFFF !important;
    border: 1px solid #E0E0E0 !important;
    transition: all 0.2s ease !important;
}

.elementor-widget-card .elementor-card:hover,
.elementor-widget-icon-box .elementor-icon-box:hover,
.elementor-widget-image-box .elementor-image-box:hover {
    background-color: #F5F5F5 !important;
    border-color: #0A0A0A !important;
}

/* === POST GRID === */
.elementor-post__thumbnail,
.elementor-portfolio__thumbnail {
    aspect-ratio: 16/10 !important;
    object-fit: cover !important;
}

.elementor-post__title,
.elementor-portfolio__title {
    font-family: "Space Grotesk", sans-serif !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    color: #0A0A0A !important;
}

.elementor-post__meta-data,
.elementor-portfolio__meta {
    font-family: "Space Grotesk", sans-serif !important;
    font-size: 12px !important;
    color: #9A9A9A !important;
}

/* === STATS BAR === */
.elementor-counter .elementor-counter-number {
    font-family: "Space Grotesk", sans-serif !important;
    font-weight: 700 !important;
    font-size: clamp(48px, 6vw, 72px) !important;
    color: #FFFFFF !important;
    letter-spacing: -0.04em !important;
}

.elementor-counter .elementor-counter-title {
    font-family: "Space Grotesk", sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.15em !important;
    color: #9A9A9A !important;
}

/* === NEWSLETTER === */
.elementor-widget-form .elementor-button[type="submit"],
.wpcf7-submit,
.wpforms-submit,
.mc4wp-form input[type="submit"] {
    background-color: #0A0A0A !important;
    color: #FFFFFF !important;
    font-family: "Space Grotesk", sans-serif !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    border: 2px solid #0A0A0A !important;
    padding: 16px 32px !important;
    transition: all 0.2s ease !important;
}

.elementor-widget-form .elementor-button[type="submit"]:hover,
.wpcf7-submit:hover,
.wpforms-submit:hover,
.mc4wp-form input[type="submit"]:hover {
    background-color: #FF4D00 !important;
    border-color: #FF4D00 !important;
    color: #FFFFFF !important;
}

/* === FOOTER === */
.site-footer,
footer.site-footer,
#colophon {
    background-color: #0A0A0A !important;
    color: #FFFFFF !important;
    padding: 64px 48px !important;
}

.site-footer a,
footer.site-footer a,
#colophon a {
    color: rgba(255,255,255,0.5) !important;
}

.site-footer a:hover,
footer.site-footer a:hover,
#colophon a:hover {
    color: #FFFFFF !important;
}

/* === TYPOGRAPHY BASE === */
h1, h2, h3, h4, h5, h6,
h1 a, h2 a, h3 a, h4 a {
    font-family: "Space Grotesk", sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: -0.03em !important;
    line-height: 1.1 !important;
    color: #0A0A0A !important;
}

p, li, span, div {
    font-family: "Space Grotesk", sans-serif !important;
}

/* === SELECTION === */
::selection {
    background: #FF4D00 !important;
    color: #FFFFFF !important;
}

/* === HERO & CTA BACKGROUND IMAGES - REMOVE === */
.elementor-element-hero_section,
.elementor-section[data-id="hero_section"],
.elementor-section.has-background,
.elementor-section-has-background,
.elementor-element-cta_section,
.elementor-section[data-id*="cta"] {
    background-image: none !important;
    background-color: #FFFFFF !important;
}

/* Also target by file name hint in any background */
[class*="aitoolgate-hero"],
[class*="cta-tech-bg"],
.elementor-section[style*="aitoolgate-hero-banner"],
.elementor-section[style*="cta-tech-bg-1"],
section[style*="aitoolgate-hero"],
section[style*="cta-tech-bg"] {
    background-image: none !important;
}

/* Ultra-aggressive: ANY section with background-image containing uploads/2026 */
.elementor-section[style*="uploads/2026/03"] {
    background-image: none !important;
    background-color: #FFFFFF !important;
}
.swiss-bg-black { background-color: #0A0A0A !important; }
.swiss-bg-white { background-color: #FFFFFF !important; }
.swiss-bg-orange { background-color: #FF4D00 !important; }
.swiss-text-black { color: #0A0A0A !important; }
.swiss-text-white { color: #FFFFFF !important; }
.swiss-text-orange { color: #FF4D00 !important; }
.swiss-text-gray { color: #5A5A5A !important; }