/*
Theme Name: DachZaubär
Theme URI: https://github.com/AhmadWebDev1/
Author: AhmadWebDev1
Author URI: https://github.com/AhmadWebDev1/
Description: Exklusives WordPress Theme für modernes Dachhandwerk - Spezialisiert auf Reinigung, Austausch und Neubau.
Version: 1.0.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dach-zaubaer-theme
*/

/* Base styles */
html {
    scroll-behavior: smooth;
}

body {
    overflow-x: hidden;
    background-color: #ffffff;
    color: #0f172a;
    font-family: 'Inter', sans-serif;
    user-select: none; /* Prevent text selection */
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

img {
    pointer-events: none; /* Prevent image dragging/context menu */
    user-drag: none;
    -webkit-user-drag: none;
}

.dark body {
    background-color: #0d1117;
    color: #f0f6fc;
}

/* Glassmorphism Navbar */
.glass-nav {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    border-bottom: 1px solid rgba(14, 165, 233, 0.1);
}

.dark .glass-nav {
    background: rgba(13, 17, 23, 0.8);
    border-bottom: 1px solid rgba(14, 165, 233, 0.05);
}

/* Service Card Lift */
.service-card {
    transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.service-card:hover {
    transform: translateY(-20px) scale(1.02);
}

/* Dynamic Background Text */
.bg-text {
    font-size: 20vw;
    font-weight: 900;
    line-height: 1;
    color: rgba(212, 175, 55, 0.03);
    pointer-events: none;
    user-select: none;
}

.dark .bg-text {
    color: rgba(255, 255, 255, 0.02);
}

/* Gradient Text */
.text-gradient {
    background: linear-gradient(135deg, #0ea5e9 0%, #f97316 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #f1f1f1;
}
::-webkit-scrollbar-thumb {
    background: #0ea5e9;
    border-radius: 10px;
}

/* Image Reveal Effect */
.image-reveal-container {
    position: relative;
    overflow: hidden;
}

.image-reveal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #0f172a;
    z-index: 10;
}

/* Premium Typography & Article Spacing (Fallback & Enhancement) */
.prose,
.prose p,
.prose h1,
.prose h2,
.prose h3,
.prose h4,
.prose h5,
.prose h6,
.prose ul,
.prose ol,
.prose li,
.prose blockquote {
    box-sizing: border-box;
}

/* Margin and spacing overrides to prevent text clustering */
.prose {
    line-height: 1.85 !important;
    font-size: 1.125rem !important; /* Premium highly readable size */
}

.prose p {
    margin-top: 0 !important;
    margin-bottom: 1.85rem !important;
    color: #1e293b !important;
}

.dark .prose p {
    color: #cbd5e1 !important;
}

.prose h1,
.prose h2,
.prose h3,
.prose h4 {
    color: #0c1218 !important;
    font-weight: 900 !important;
    line-height: 1.3 !important;
    margin-top: 2.75rem !important;
    margin-bottom: 1.25rem !important;
    text-transform: uppercase !important;
    letter-spacing: -0.025em !important;
}

.dark .prose h1,
.dark .prose h2,
.dark .prose h3,
.dark .prose h4 {
    color: #ffffff !important;
}

.prose h1 { font-size: 2.75rem !important; }
.prose h2 { font-size: 2.25rem !important; }
.prose h3 { font-size: 1.75rem !important; }
.prose h4 { font-size: 1.35rem !important; }

/* Lists spacing */
.prose ul,
.prose ol {
    margin-top: 0 !important;
    margin-bottom: 1.85rem !important;
    padding-left: 1.85rem !important;
}

.prose ul {
    list-style-type: disc !important;
}

.prose ol {
    list-style-type: decimal !important;
}

.prose li {
    margin-top: 0.6rem !important;
    margin-bottom: 0.6rem !important;
    line-height: 1.75 !important;
}

/* Strong tags */
.prose strong {
    font-weight: 700 !important;
    color: #0c1218 !important;
}

.dark .prose strong {
    color: #ffffff !important;
}

/* Blockquotes */
.prose blockquote {
    border-left: 4px solid #0ea5e9 !important;
    padding-left: 1.75rem !important;
    font-style: italic !important;
    margin: 2.5rem 0 !important;
    color: #475569 !important;
}

.dark .prose blockquote {
    color: #94a3b8 !important;
}
