/* Günteknikplas fallback styles — used when Vite build is not available. Run `npm install && npm run build` for production. */

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: auto; }
body {
    margin: 0;
    font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
    background: #F8FAFC;
    color: #1E293B;
    -webkit-font-smoothing: antialiased;
}
[x-cloak] { display: none !important; }
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }

.container-shell { max-width: 80rem; margin: 0 auto; padding: 0 1rem; }
@media (min-width: 640px) { .container-shell { padding: 0 1.5rem; } }
@media (min-width: 1024px) { .container-shell { padding: 0 2rem; } }

.section-spacing { padding: 4rem 0; }
@media (min-width: 768px) { .section-spacing { padding: 6rem 0; } }
@media (min-width: 1024px) { .section-spacing { padding: 7rem 0; } }

.glass-panel {
    border-radius: 1rem;
    border: 1px solid rgba(255,255,255,.2);
    background: rgba(255,255,255,.7);
    box-shadow: 0 10px 15px -3px rgba(0,0,0,.1);
    backdrop-filter: blur(12px);
}

.card-premium {
    border-radius: 1rem;
    border: 1px solid rgba(226,232,240,.8);
    background: #fff;
    padding: 1.5rem;
    box-shadow: 0 1px 2px rgba(0,0,0,.05);
    transition: all .3s;
}
.card-premium:hover { transform: translateY(-4px); box-shadow: 0 20px 25px -5px rgba(0,0,0,.1); }

.scroll-progress {
    position: fixed; top: 0; left: 0; z-index: 50;
    height: 4px; width: 0; background: #00A651;
    transition: width .15s ease-out;
}

.page-transition { opacity: 0; transform: translateY(1rem); transition: all .5s ease-out; }
.page-transition.is-visible { opacity: 1; transform: translateY(0); }

.text-gunteknikplas-navy { color: #0B3D91; }
.text-gunteknikplas-green { color: #00A651; }
.text-gunteknikplas-dark { color: #1E293B; }
.bg-gunteknikplas-navy { background-color: #0B3D91; }
.bg-gunteknikplas-green { background-color: #00A651; }
.bg-gunteknikplas-surface { background-color: #F8FAFC; }
.bg-gunteknikplas-dark { background-color: #1E293B; }
.border-gunteknikplas-green { border-color: #00A651; }
.from-gunteknikplas-navy { --tw-gradient-from: #0B3D91; }
.to-gunteknikplas-green { --tw-gradient-to: #00A651; }

.site-navbar { position: fixed; top: 0; left: 0; z-index: 40; width: 100%; transition: all .3s; }
.site-navbar.is-transparent { background: transparent; }
.site-navbar.is-solid { background: rgba(255,255,255,.95); border-bottom: 1px solid rgba(226,232,240,.8); box-shadow: 0 1px 2px rgba(0,0,0,.05); backdrop-filter: blur(12px); }
.site-navbar.is-shrunk .navbar-inner { padding-top: .75rem; padding-bottom: .75rem; }
.site-navbar:not(.is-shrunk) .navbar-inner { padding-top: 1.25rem; padding-bottom: 1.25rem; }

#preloader, [data-preloader] {
    position: fixed; inset: 0; z-index: 9999;
    display: flex; align-items: center; justify-content: center;
    background: #0B3D91; transition: opacity .5s;
}
#preloader.is-hidden, [data-preloader].is-hidden { opacity: 0; pointer-events: none; }
.preloader-spinner {
    width: 3rem; height: 3rem; border-radius: 9999px;
    border: 4px solid rgba(255,255,255,.2); border-top-color: #00A651;
    animation: spin 1s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

.gunteknikplas-toast-container { position: fixed; top: 1rem; right: 1rem; z-index: 9998; display: flex; flex-direction: column; gap: .75rem; }
.gunteknikplas-toast {
    min-width: 280px; max-width: 24rem; padding: .75rem 1rem;
    border-radius: .75rem; border: 1px solid; background: #fff;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,.1);
    animation: toast-in .35s ease-out both;
}
.gunteknikplas-toast--success { border-color: rgba(0,166,81,.3); color: #1E293B; }
.gunteknikplas-toast--error { border-color: rgba(252,165,165,.5); color: #b91c1c; }
@keyframes toast-in { from { opacity: 0; transform: translateX(100%); } to { opacity: 1; transform: translateX(0); } }

.hero-swiper, [data-hero-swiper] { height: 100%; width: 100%; }
.hero-swiper .swiper-pagination-bullet { background: rgba(255,255,255,.5); opacity: 1; }
.hero-swiper .swiper-pagination-bullet-active { background: #00A651; width: 2rem; border-radius: 9999px; }

.references-swiper .swiper-slide { opacity: .6; filter: grayscale(1); transition: all .3s; }
.references-swiper .swiper-slide-active { opacity: 1; filter: grayscale(0); }

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

.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.prose { line-height: 1.75; }
.prose p { margin-bottom: 1rem; }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
