/*
Theme Name: Skyline Dekarstwo
Theme URI: https://skyline-dekarstwo.pl
Author: Digital Architect
Description: Minimalna baza motywu dla Skyline Dekarstwo. Ładuje globalne style (glassmorphism, sky orbs, Tailwind CDN, Phosphor Icons, Plus Jakarta Sans). Treść budowana w Elementorze za pomocą widgetów HTML.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: skyline
*/

/* ========================================
   GLOBALNE STYLE SKYLINE
   ======================================== */

html {
    scroll-padding-top: 5rem;
    scroll-behavior: smooth;
}

body {
    background-color: #000000 !important;
    background-image: radial-gradient(ellipse at top center, rgba(15, 23, 42, 0.8) 0%, rgba(0, 0, 0, 1) 50%) !important;
    background-attachment: fixed !important;
    color: #f3f4f6 !important;
    overflow-x: hidden;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    padding-bottom: calc(5rem + env(safe-area-inset-bottom, 0px));
    -webkit-font-smoothing: antialiased;
}
@media (min-width: 768px) { body { padding-bottom: 7rem; } }

/* Ukryj domyślne marginesy Elementora */
.elementor-section-wrap > .elementor-section,
.elementor-element .elementor-widget-container {
    background: transparent !important;
}
.elementor-page .page-content,
.elementor-page .entry-content {
    padding: 0 !important;
    margin: 0 !important;
}

/* SKY ORBS */
.sky-orb-1 {
    position: fixed; top: -10%; left: -10%; width: 50vw; height: 50vw;
    background: radial-gradient(circle, rgba(56, 189, 248, 0.05) 0%, transparent 70%);
    filter: blur(100px); z-index: 0; pointer-events: none;
}
.sky-orb-2 {
    position: fixed; bottom: -20%; right: -10%; width: 60vw; height: 60vw;
    background: radial-gradient(circle, rgba(30, 58, 138, 0.1) 0%, transparent 65%);
    filter: blur(120px); z-index: 0; pointer-events: none;
}
.sky-orb-3 {
    position: fixed; top: 40%; left: 30%; width: 40vw; height: 40vw;
    background: radial-gradient(circle, rgba(59, 113, 184, 0.04) 0%, transparent 60%);
    filter: blur(100px); z-index: 0; pointer-events: none;
}

/* GLASS PANELS */
.glass-panel {
    background: rgba(255, 255, 255, 0.02);
    backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 10px 40px 0 rgba(0, 0, 0, 0.5), inset 0 1px 3px rgba(255, 255, 255, 0.05);
}
.glass-nav {
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(30px); -webkit-backdrop-filter: blur(30px);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    box-shadow: 0 -10px 40px 0 rgba(0, 0, 0, 0.8), inset 0 1px 1px rgba(255, 255, 255, 0.05);
}
.glass-modal {
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(40px); -webkit-backdrop-filter: blur(40px);
}
.glass-button {
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-top: 1px solid rgba(255, 255, 255, 0.25);
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.3), inset 0 1px 2px rgba(255, 255, 255, 0.1);
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.glass-button:hover {
    background: rgba(59, 113, 184, 0.15);
    border-color: rgba(125, 211, 252, 0.4);
    box-shadow: 0 12px 40px 0 rgba(59, 113, 184, 0.3), inset 0 1px 4px rgba(255, 255, 255, 0.2);
    transform: translateY(-2px);
}
.glass-button:active {
    transform: translateY(1px);
    box-shadow: 0 4px 15px 0 rgba(0, 0, 0, 0.5);
    background: rgba(255, 255, 255, 0.01);
}

/* SNAP SLIDER */
.mobile-snap-x {
    display: flex; overflow-x: auto; scroll-snap-type: x mandatory;
    scrollbar-width: none; -ms-overflow-style: none;
    padding-bottom: 2rem; padding-top: 1rem;
    padding-left: 50vw; padding-right: 50vw;
    cursor: grab; scroll-behavior: smooth;
}
.mobile-snap-x:active { cursor: grabbing; }
@media (min-width: 768px) {
    .mobile-snap-x { padding-left: calc(50vw - 225px); padding-right: calc(50vw - 225px); }
}
.mobile-snap-x::-webkit-scrollbar { display: none; }
.snap-item {
    scroll-snap-align: center; flex-shrink: 0;
    transition: transform 0.6s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.6s ease-out, filter 0.6s ease, border-color 0.6s ease;
    user-select: none;
}
.snap-item img { pointer-events: none; }

/* SCROLLBARS */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.1); border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: rgba(59, 113, 184, 0.5); }
.custom-scrollbar::-webkit-scrollbar { width: 4px; }
.custom-scrollbar::-webkit-scrollbar-track { background: transparent; }
.custom-scrollbar::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.2); border-radius: 4px; }

/* CURSOR BLINK */
.cursor-blink { animation: blink 1s step-end infinite; }
@keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } }

/* MODAL ANIM */
.modal-wrapper { transition: opacity 0.3s ease, visibility 0.3s ease; }
.modal-wrapper.hidden-modal { opacity: 0; visibility: hidden; pointer-events: none; }
.modal-content { transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); }
.modal-wrapper.hidden-modal .modal-content { transform: translateY(50px) scale(0.95); }

/* FLOAT ANIMATIONS */
@keyframes skyline-float {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-30px) scale(1.05); }
}
@keyframes skyline-float-reverse {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(30px) scale(0.95); }
}
.animate-float { animation: skyline-float 12s ease-in-out infinite; }
.animate-float-reverse { animation: skyline-float-reverse 15s ease-in-out infinite; }

/* SELECTION */
::selection { background: #3B71B8; color: white; }
