/* 
   Profusion Group - Stylesheet
   Structure:
   1. Variables & Fonts
   2. Base & Global Styles
   3. WordPress Block Components
   4. Custom Sections
   5. Animations
*/

/* 1. Variables & Fonts */
@font-face{font-family:Allura;font-style:normal;font-weight:400;font-display:fallback;src:url('../fonts/allura/Allura-Regular.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:Archivo;font-style:normal;font-weight:300 400 500 600 700 900;font-display:fallback;src:url('../fonts/archivo/Archivo-VariableFont.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:Barlow;font-style:normal;font-weight:200;font-display:fallback;src:url('../fonts/barlow/Barlow-ExtraLight.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:fallback;src:url('../fonts/barlow/Barlow-Regular.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:Barlow;font-style:normal;font-weight:500;font-display:fallback;src:url('../fonts/barlow/Barlow-Medium.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:Barlow;font-style:normal;font-weight:600;font-display:fallback;src:url('../fonts/barlow/Barlow-SemiBold.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:Barlow;font-style:normal;font-weight:700;font-display:fallback;src:url('../fonts/barlow/Barlow-Bold.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:"Big Shoulders";font-style:normal;font-weight:300 400 500 600 700 900;font-display:fallback;src:url('../fonts/big_shoulders/BigShoulders-VariableFont_wght.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:300 400 500 600 700 900;font-display:fallback;src:url('../fonts/bricolage_grotesque/BricolageGrotesque-VariableFont.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:"DM Serif Display";font-style:normal;font-weight:400;font-display:fallback;src:url('../fonts/dm_serif_display/DMSerifDisplay-Regular.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:"Faculty Glyphic";font-style:normal;font-weight:400;font-display:fallback;src:url('../fonts/faculty_glyphic/FacultyGlyphic-Regular.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:"Funnel Display";font-style:normal;font-weight:300 400 500 600 700 900;font-display:fallback;src:url('../fonts/funnel_display/FunnelDisplay-VariableFont_wght.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:Geist;font-style:normal;font-weight:300 400 500 600 700 900;font-display:fallback;src:url('../fonts/geist/Geist-VariableFont.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:"Host Grotesk";font-style:normal;font-weight:300 400 500 600 700 900;font-display:fallback;src:url('../fonts/host_grotesk/HostGrotesk-VariableFont.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:"Hubot Sans";font-style:normal;font-weight:300 400 500 600 700 900;font-display:fallback;src:url('../fonts/hubot_sans/HubotSans-VariableFont_wght.ttf') format('truetype');font-stretch:normal;}
@font-face{font-family:"IBM Plex Serif";font-style:normal;font-weight:300;font-display:fallback;src:url('../fonts/ibm_plex_serif/IBMPlexSerif-Light.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:"IBM Plex Serif";font-style:normal;font-weight:400;font-display:fallback;src:url('../fonts/ibm_plex_serif/IBMPlexSerif-Regular.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:"IBM Plex Serif";font-style:normal;font-weight:500;font-display:fallback;src:url('../fonts/ibm_plex_serif/IBMPlexSerif-Medium.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:"IBM Plex Serif";font-style:normal;font-weight:700;font-display:fallback;src:url('../fonts/ibm_plex_serif/IBMPlexSerif-Bold.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:Inter;font-style:normal;font-weight:300 400 500 600 700;font-display:fallback;src:url('../fonts/inter/Inter-VariableFont_wght.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:"Libre Franklin";font-style:normal;font-weight:300 400 500 600 700;font-display:fallback;src:url('../fonts/libre_franklin/LibreFranklin-VariableFont.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:Manrope;font-style:normal;font-weight:300 400 500 600 700 900;font-display:fallback;src:url('../fonts/manrope/Manrope-VariableFont_wght.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:Michroma;font-style:normal;font-weight:400;font-display:fallback;src:url('../fonts/michroma/Michroma-Regular.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:"Mona Sans";font-style:normal;font-weight:300 400 500 600 700 900;font-display:fallback;src:url('../fonts/mona_sans/MonaSans-VariableFont_wdth.ttf') format('truetype');font-stretch:normal;}
@font-face{font-family:"Montagu Slab";font-style:normal;font-weight:300 400 500 600 700 900;font-display:fallback;src:url('../fonts/montagu_slab/MontaguSlab-VariableFont.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:300 400 500 600 700 900;font-display:fallback;src:url('../fonts/open_sans/OpenSans-VariableFont.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:Oswald;font-style:normal;font-weight:300 400 500 600 700 900;font-display:fallback;src:url('../fonts/oswald/Oswald-VariableFont_wght.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:Outfit;font-style:normal;font-weight:300 400 500 600 700 900;font-display:fallback;src:url('../fonts/outfit/Outfit-VariableFont_wght.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:300 400 500 600 700 900;font-display:fallback;src:url('../fonts/playfair_display/PlayfairDisplay-VariableFont_wght.ttf') format('truetype');font-stretch:normal;}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:300 400 500 600 700 900;font-display:fallback;src:url('../fonts/plus_jakarta_sans/PlusJakartaSans-VariableFont.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:300 400 500 600 700 900;font-display:fallback;src:url('../fonts/public-sans/PublicSans-VariableFont_wght.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:Quicksand;font-style:normal;font-weight:300 400 500 600 700 900;font-display:fallback;src:url('../fonts/quicksand/Quicksand-VariableFont_wght.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:"Rethink Sans";font-style:normal;font-weight:300 400 500 600 700 900;font-display:fallback;src:url('../fonts/rethink_sans/RethinkSans-VariableFont.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:fallback;src:url('../fonts/roboto/Roboto-Regular.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:Roboto;font-style:normal;font-weight:500;font-display:fallback;src:url('../fonts/roboto/Roboto-Medium.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:Roboto;font-style:normal;font-weight:700;font-display:fallback;src:url('../fonts/roboto/Roboto-Bold.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:Rubik;font-style:normal;font-weight:300 400 500 600 700 900;font-display:fallback;src:url('../fonts/rubik/Rubik-VariableFont.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:"Space Mono";font-style:normal;font-weight:400;font-display:fallback;src:url('../fonts/space_mono/SpaceMono-Regular.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:"Space Mono";font-style:normal;font-weight:700;font-display:fallback;src:url('../fonts/space_mono/SpaceMono-Bold.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:Syne;font-style:normal;font-weight:300 400 500 600 700 900;font-display:fallback;src:url('../fonts/syne/Syne-VariableFont_wght.woff2') format('woff2');font-stretch:normal;}
@font-face{font-family:"Tenor Sans";font-style:normal;font-weight:400;font-display:fallback;src:url('../fonts/tenor_sans/TenorSans.woff2') format('woff2');font-stretch:normal;}

:root {
    --wp--preset--color--black: #000000;
    --wp--preset--color--cyan-bluish-gray: #abb8c3;
    --wp--preset--color--white: #ffffff;
    --wp--preset--color--pale-pink: #f78da7;
    --wp--preset--color--vivid-red: #cf2e2e;
    --wp--preset--color--luminous-vivid-orange: #ff6900;
    --wp--preset--color--luminous-vivid-amber: #fcb900;
    --wp--preset--color--light-green-cyan: #7bdcb5;
    --wp--preset--color--vivid-green-cyan: #00d084;
    --wp--preset--color--pale-cyan-blue: #8ed1fc;
    --wp--preset--color--vivid-cyan-blue: #0693e3;
    --wp--preset--color--vivid-purple: #9b51e0;
    --wp--preset--color--primary: #4A3AFD;
    --wp--preset--color--secondary: #4938FE;
    --wp--preset--color--primary-shade-one: #6F79FF;
    --wp--preset--color--primary-shade-2: #1A1452;
    --wp--preset--color--secondary-shade-1: #3C0AC6;
    --wp--preset--color--secondary-shade-2: #3B038F;
    --wp--preset--color--light-color: #FFFFFE;
    --wp--preset--color--black-color: #000000;
    --wp--preset--color--dark-shade: #02010C;
    --wp--preset--color--heading-color: #FFFFFD;
    --wp--preset--color--background: #02010b;
    --wp--preset--color--background-alt: #1A1C2D;
    --wp--preset--color--foreground: #F4F6F8;
    --wp--preset--color--foreground-alt: #E3E7EA;
    --wp--preset--color--meta-color: #B9B5BD;
    --wp--preset--color--border-color: #30303D;
    --wp--preset--color--sticky-bg-color: #000000eb;
    --wp--preset--color--transparent: #ffffff00;

    /* Gradients */
    --wp--preset--gradient--center-gradient: radial-gradient(75% 46% at 50% 60%, var(--wp--preset--color--primary-shade-one), var(--wp--preset--color--primary) 30%, var(--wp--preset--color--black-color) 70%);
    --wp--preset--gradient--center-bottom-gradient: radial-gradient(35.48% 50.52% at 50% 105.04%, var(--wp--preset--color--primary-shade-2) 0%, var(--wp--preset--color--black-color) 100%);
    --wp--preset--gradient--gradient-seven: radial-gradient(38.18% 60.36% at 6.37% 95.31%, var(--wp--preset--color--primary-shade-one) 0%, var(--wp--preset--color--primary) 22%, var(--wp--preset--color--primary-shade-2) 44%, var(--wp--preset--color--dark-shade) 100%);
    --wp--preset--gradient--gradient-three: radial-gradient(30% 50% at 100% 0%, var(--wp--preset--color--primary-shade-one) 0%, var(--wp--preset--color--primary) 44%, var(--wp--preset--color--primary-shade-2) 89%, var(--wp--preset--color--dark-shade) 130%);
    --wp--preset--gradient--gradient-twelve: linear-gradient(90deg, var(--wp--preset--color--primary) 0%, var(--wp--preset--color--secondary) 100%);

    /* Typography */
    --wp--preset--font-size--normal: clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.244), 18px);
    --wp--preset--font-size--medium: clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.366), 20px);
    --wp--preset--font-size--large: clamp(18.959px, 1.185rem + ((1vw - 3.2px) * 0.673), 30px);
    --wp--preset--font-size--x-large: clamp(24.034px, 1.502rem + ((1vw - 3.2px) * 0.974), 40px);
    --wp--preset--font-size--xx-large: clamp(27.894px, 1.743rem + ((1vw - 3.2px) * 1.226), 48px);
    --wp--preset--font-size--xxx-large: clamp(30.693px, 1.918rem + ((1vw - 3.2px) * 1.421), 54px);
    --wp--preset--font-size--x-small: 14px;
    --wp--preset--font-size--small: clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.122), 16px);
    --wp--preset--font-size--big: clamp(15.747px, 0.984rem + ((1vw - 3.2px) * 0.503), 24px);

    --wp--preset--spacing--20: 0.44rem;
    --wp--preset--spacing--30: 0.67rem;
    --wp--preset--spacing--40: 1rem;
    
    --wp--style--global--content-size: 1180px;
    --wp--style--global--wide-size: 1960px;
    --wp--style--block-gap: 24px;
}

/* 2. Base & Global Styles */
body {
    background-color: var(--wp--preset--color--background);
    color: var(--wp--preset--color--foreground);
    font-family: 'Inter', sans-serif;
    font-size: var(--wp--preset--font-size--normal);
    line-height: 1.6;
    margin: 0;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--wp--preset--color--heading-color);
    font-family: 'Funnel Display', sans-serif;
    margin-top: 24px;
    margin-bottom: 16px;
    line-height: 1.3;
}

a {
    color: var(--wp--preset--color--primary);
    text-decoration: none;
    transition: color 0.3s ease;
}

a:hover {
    color: var(--wp--preset--color--secondary);
}

img {
    max-width: 100%;
    height: auto;
}

.wp-site-blocks {
    overflow: hidden;
}

/* 3. WordPress Block Components */

/* Groups & Containers */
.wp-block-group {
    box-sizing: border-box;
}

.wp-block-group.has-background {
    padding: 1.25em 2.375em;
}

.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: var(--wp--style--global--content-size);
    margin-left: auto !important;
    margin-right: auto !important;
}

.alignfull {
    width: 100%;
    max-width: none;
}

/* Buttons */
.wp-block-button__link {
    background-color: var(--wp--preset--color--primary);
    color: #fff;
    padding: 12px 24px;
    border-radius: 9999px;
    display: inline-block;
    font-weight: 600;
    transition: all 0.3s ease;
}

.wp-block-button__link:hover {
    background-color: var(--wp--preset--color--secondary);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(74, 58, 253, 0.3);
}

.is-style-button-zoom-on-hover .wp-block-button:hover {
    transform: scale(1.05);
}

/* Navigation */
.saaslauncher-navigation {
    display: flex;
    gap: 24px;
    list-style: none;
    padding: 0;
}

.saaslauncher-header {
    z-index: 100;
}

.is-style-saaslauncher-sticky-navigation {
    position: sticky;
    top: 0;
    background: var(--wp--preset--color--sticky-bg-color);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

/* Columns */
.wp-block-columns {
    display: flex;
    flex-wrap: wrap;
    gap: 2em;
}

@media (min-width: 782px) {
    .wp-block-columns {
        flex-wrap: nowrap;
    }
}

/* 4. Custom Sections */

/* Hero Section */
.hero-section {
    min-height: 640px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.saaslauncher-big-title {
    font-weight: 800;
    margin-bottom: 20px;
}

/* Feature Boxes */
.saaslauncher-hover-box {
    border: 1px solid var(--wp--preset--color--border-color);
    padding: 30px;
    border-radius: 20px;
    background: var(--wp--preset--color--background-alt);
    transition: all 0.3s ease;
}

.saaslauncher-hover-box:hover {
    border-color: var(--wp--preset--color--primary);
    transform: translateY(-5px);
}

/* Brands Gallery */
.saaslauncher-brands img {
    filter: grayscale(100%);
    opacity: 0.6;
    transition: all 0.3s ease;
}

.saaslauncher-brands img:hover {
    filter: grayscale(0%);
    opacity: 1;
}

/* Footer Styles */
.custom-footer-copyright {
    color: #ffffff;
    font-family: sans-serif;
    font-size: 14px;
    text-align: center;
    padding: 20px 0;
    width: 100%;
}

/* 5. Animations & Utilities */
.is-style-saaslauncher-animated-border {
    position: relative;
    overflow: hidden;
}

.screen-reader-text {
    border: 0;
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/* Custom Contact Form */
#contact form {
    max-width: 800px;
    margin: 0 auto;
}

#contact input, #contact textarea {
    background: var(--wp--preset--color--background-alt);
    border: 1px solid var(--wp--preset--color--border-color);
    color: #fff;
    padding: 12px;
    border-radius: 8px;
}

#contact button:hover {
    transform: scale(1.02);
}
