/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* Style strony kasy znajdują się w assets/css/checkout.css (ładowany na stronie checkout). */
/* Style shortcode [it_add_to_cart_with_labels] znajdują się w assets/css/atcwl.css. */

/* Główna baza tła */
body {
    background-color: #08090d; /* Głęboki, ciemny odcień */
    position: relative;
    overflow-x: hidden; /* Zapobiega poziomym paskom przewijania przez blur */
    min-height: 100vh;
}

/* Okrąg 1: Lewy-górny (fioletowo-niebieski glow) */
body::before {
    content: "";
    position: absolute;
    top: -100px;
    left: -100px;
    width: 700px;
    height: 700px;
    background: radial-gradient(circle, rgba(94, 71, 245, 0.6) 0%, rgba(94, 71, 245, 0.1) 70%);
    border-radius: 100%;
    filter: blur(60px);
    z-index: 0;
    pointer-events: none; /* Żeby tło nie blokowało kliknięć w elementy strony */
}

/* Okrąg 2: Prawy-dolny lub prawy-środkowy (turkusowo-niebieski glow) */
body::after {
    content: "";
    position: absolute;
    top: 200px;
    right: -100px;
    width: 700px;
    height: 700px;
    background: radial-gradient(circle, rgba(0, 198, 254, 0.5) 0%, rgba(0, 198, 254, 0.05) 70%);
    border-radius: 100%;
    filter: blur(60px);
    z-index: 0;
    pointer-events: none;
}

@media (max-width: 768px) {
  body::after, body::before{
    width: 300px;
    height: 300px;
    filter: blur(40px);
  }
  body::before{
    left: 0px;
  }
  body::after{
    right: 0px;
    top: 5%;
  }
}

/* Zabezpieczenie kontenerów strony, aby wyświetlały się NAD tłem */
#page, 
#content, 
.site-header, 
.elementor {
    position: relative;
    z-index: 1;
}


header{
    position: sticky!important;
    top: 0;
    z-index: 9999!important;
}

:root {
  --color-blue: #5E47F5;
  --color-blue-light: #00C6FE;
  --color-blue-transparent: rgba(0, 198, 254, 0.15);
}
[id] {
    scroll-margin-top: 100px; 
}
*::selection {
  background: var( --color-blue );
  color: #ffffff;
}
*::-moz-selection {
  background: var( --color-blue );
  color: #ffffff;
}
*::-webkit-selection {
  background: var( --color-blue );
  color: #ffffff;
}

a{
    border-radius: 8px!important;
}

.blue-title {
    /* 1. Definicja gradientu w tle */
    background: linear-gradient(to bottom, var(--color-blue), var(--color-blue-light))!important;
    
    /* 2. Przycięcie tła wyłącznie do obrysu liter */
    -webkit-background-clip: text!important;
    background-clip: text!important;
    
    /* 3. Wypełnienie tekstu przezroczystością, aby tło prześwitywało */
    -webkit-text-fill-color: transparent!important;
    color: transparent!important;
    
    /* 4. Zapobieganie błędom renderowania w niektórych przeglądarkach */
    display: inline-block; 
}

.blue-btn, .swiper-pagination > span.swiper-pagination-bullet-active{
    background-image: linear-gradient(to bottom, var(--color-blue), var(--color-blue-light))!important;
    transition: all .3s ease-in-out!important;
    border: 0px;
}
.blue-btn:hover{
    opacity: .8!important;
}
a.blue-border:hover, button.blue-border:hover{
    background: var(--color-blue-transparent)!important;
}


.blue-border, .swiper-pagination > span {
    position: relative;
    border-radius: 8px !important;
    background: transparent !important;
    z-index: 1;
    opacity: 1;
    transition: all .3s ease-in-out;
}


.blue-border::before, .swiper-pagination > span::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 8px !important;
    padding: 2px; /* Odpowiada grubości ramki (2px) */
    
    background: linear-gradient(to bottom, var(--color-blue), var(--color-blue-light)) !important;
    
    -webkit-mask: 
        linear-gradient(#fff 0 0) content-box, 
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
            
    pointer-events: none;
    z-index: -1;
}

.blue-border-hero-carousel, .blue-border-hero-carousel::before{
    border-radius: 24px !important;
}
.blue-border-hero-carousel{
    background: #fff!important;
}
.blue-transparent-bg{
    background: rgb(255, 255, 255, 0.05)!important;
}

/*tytuły w tekście na podstronach*/
.nwn-page-text h2, .nwn-page-text h3{
    margin: 48px 0px 24px 0px!important;
}
.nwn-page-text hr{
    margin-top: 3em;
    margin-bottom: 3em;
}
.nwn-page-text p{
    margin-top: 1.25em;
    margin-bottom: 1.25em;
}
.nwn-page-text a{
    color: var(--color-blue-light);
}
.nwn-page-text a:hover{
    color: var(--color-blue);
}