/*
Theme Name: Budmal Innovation
Theme URI: https://budmalinnovation.pl
Author: BUDMAL Innovation Sp. z o.o.
Author URI: https://budmalinnovation.pl
Description: Dedykowany motyw premium klasy High-Tech Light Mode dla BUDMAL Innovation – partnera technologicznego BAUTER. Specjalizacja: płynne powłoki nano-termiczne, termomodernizacja obiektów zabytkowych, sakralnych i przemysłowych.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 8.0
License: Proprietary
License URI: https://budmalinnovation.pl/licencja
Text Domain: budmal-innovation
Tags: custom-menu, featured-images, custom-logo, full-width-template, theme-options
*/

/* ============================================================
   CSS CUSTOM PROPERTIES – SYSTEM TOKENÓW WIZUALNYCH
   ============================================================ */
:root {
    /* Paleta kolorystyczna */
    --color-white:          #FFFFFF;
    --color-bg-primary:     #F8FAFC;
    --color-bg-section:     #F1F5F9;
    --color-text-primary:   #0F172A;
    --color-text-secondary: #334155;
    --color-text-muted:     #64748B;
    --color-accent-red:     #E50012;
    --color-accent-blue:    #0072BC;
    --color-authority:      #0A1D37;
    --color-border:         #E2E8F0;
    --color-border-light:   #F1F5F9;

    /* Gradienty marki */
    --gradient-brand:       linear-gradient(135deg, #E50012 0%, #8B0057 50%, #0072BC 100%);
    --gradient-brand-h:     linear-gradient(90deg, #E50012 0%, #8B0057 50%, #0072BC 100%);
    --gradient-authority:   linear-gradient(135deg, #0A1D37 0%, #0072BC 100%);
    --gradient-hero:        linear-gradient(160deg, #FFFFFF 0%, #F0F7FF 40%, #EFF6FF 100%);

    /* Typografia */
    --font-heading:         'Montserrat', 'Helvetica Neue', Arial, sans-serif;
    --font-body:            'Inter', 'Helvetica Neue', Arial, sans-serif;

    /* Wielkości typograficzne (fluid) */
    --text-xs:   0.75rem;
    --text-sm:   0.875rem;
    --text-base: 1rem;
    --text-lg:   1.125rem;
    --text-xl:   1.25rem;
    --text-2xl:  1.5rem;
    --text-3xl:  1.875rem;
    --text-4xl:  2.25rem;
    --text-5xl:  3rem;
    --text-6xl:  3.75rem;
    --text-7xl:  4.5rem;

    /* Spacing */
    --space-1:   0.25rem;
    --space-2:   0.5rem;
    --space-3:   0.75rem;
    --space-4:   1rem;
    --space-5:   1.25rem;
    --space-6:   1.5rem;
    --space-8:   2rem;
    --space-10:  2.5rem;
    --space-12:  3rem;
    --space-16:  4rem;
    --space-20:  5rem;
    --space-24:  6rem;
    --space-32:  8rem;
    --section-gap: 100px;

    /* Borders & Shadows */
    --radius-sm:   4px;
    --radius-md:   8px;
    --radius-lg:   16px;
    --radius-xl:   24px;
    --radius-full: 9999px;
    --shadow-sm:   0 1px 3px rgba(15,23,42,0.06), 0 1px 2px rgba(15,23,42,0.04);
    --shadow-md:   0 4px 16px rgba(15,23,42,0.08), 0 2px 6px rgba(15,23,42,0.05);
    --shadow-lg:   0 12px 40px rgba(15,23,42,0.10), 0 4px 12px rgba(15,23,42,0.06);
    --shadow-xl:   0 24px 64px rgba(15,23,42,0.12), 0 8px 24px rgba(15,23,42,0.08);
    --shadow-brand: 0 8px 32px rgba(229,0,18,0.18), 0 2px 8px rgba(0,114,188,0.12);

    /* Transitions */
    --transition-fast:   150ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-base:   250ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slow:   400ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-spring: 600ms cubic-bezier(0.34, 1.56, 0.64, 1);

    /* Layout */
    --container-max:  1280px;
    --container-wide: 1440px;
    --container-pad:  clamp(1.25rem, 4vw, 3rem);
    --header-h:       80px;
}

/* ============================================================
   CSS RESET & BASE
   ============================================================ */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: 16px;
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    font-family: var(--font-body);
    font-size: var(--text-base);
    font-weight: 400;
    line-height: 1.65;
    color: var(--color-text-primary);
    background-color: var(--color-white);
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--color-text-primary);
}

a {
    color: inherit;
    text-decoration: none;
    transition: color var(--transition-base);
}

img, video, svg {
    display: block;
    max-width: 100%;
    height: auto;
}

ul, ol {
    list-style: none;
}

button, input, textarea, select {
    font-family: inherit;
    font-size: inherit;
}

button {
    cursor: pointer;
    border: none;
    background: none;
}

/* ============================================================
   UTILITY CLASSES
   ============================================================ */
.container {
    width: 100%;
    max-width: var(--container-max);
    margin-inline: auto;
    padding-inline: var(--container-pad);
}

.container--wide {
    max-width: var(--container-wide);
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border-width: 0;
}

/* ============================================================
   ANIMACJE SCROLL (Intersection Observer)
   ============================================================ */
[data-animate] {
    opacity: 0;
    transform: translateY(32px);
    transition: opacity var(--transition-slow), transform var(--transition-slow);
}

[data-animate="fade-up"].is-visible {
    opacity: 1;
    transform: translateY(0);
}

[data-animate="fade-in"] {
    opacity: 0;
    transform: none;
}

[data-animate="fade-in"].is-visible {
    opacity: 1;
}

[data-animate="slide-left"] {
    opacity: 0;
    transform: translateX(-40px);
}

[data-animate="slide-left"].is-visible {
    opacity: 1;
    transform: translateX(0);
}

[data-animate="slide-right"] {
    opacity: 0;
    transform: translateX(40px);
}

[data-animate="slide-right"].is-visible {
    opacity: 1;
    transform: translateX(0);
}

[data-animate-delay="100"] { transition-delay: 100ms; }
[data-animate-delay="200"] { transition-delay: 200ms; }
[data-animate-delay="300"] { transition-delay: 300ms; }
[data-animate-delay="400"] { transition-delay: 400ms; }
[data-animate-delay="500"] { transition-delay: 500ms; }
[data-animate-delay="600"] { transition-delay: 600ms; }

/* ============================================================
   SKIP LINK (Accessibility)
   ============================================================ */
.skip-link {
    position: absolute;
    top: -100%;
    left: var(--space-4);
    z-index: 10000;
    padding: var(--space-3) var(--space-6);
    background: var(--color-accent-blue);
    color: var(--color-white);
    font-weight: 600;
    border-radius: var(--radius-md);
    transition: top var(--transition-fast);
}

.skip-link:focus {
    top: var(--space-4);
}

/* ============================================================
   WORDPRESS CORE CLASSES (wymagane)
   ============================================================ */
.wp-caption { width: 100% !important; }
.wp-caption img { width: 100%; }
.wp-caption-text { font-size: var(--text-sm); color: var(--color-text-muted); }
.alignleft  { float: left; margin: 0 var(--space-4) var(--space-4) 0; }
.alignright { float: right; margin: 0 0 var(--space-4) var(--space-4); }
.aligncenter { display: block; margin: 0 auto var(--space-4); }
.alignwide  { width: 100%; }
.alignfull  { width: 100vw; margin-inline: calc(50% - 50vw); }
.sticky     { /* WP sticky post */ }
.bypostauthor { /* WP author post */ }
