/*
Theme Name: Dron Lubaczow Premium
Theme URI: https://dronlubaczow.pl
Author: AI Assistant
Description: Wersja Premium - Nowoczesne fonty, poprawione ścieżki do zdjęć z biblioteki mediów.
Version: 2.1
Text Domain: dronlubaczow
*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700;800&family=Open+Sans:wght@400;500;600&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css');

:root {
    --primary: #0f4c81;
    --primary-dark: #0a355c;
    --accent: #f39c12;
    --text-main: #333333;
    --text-muted: #6c757d;
    --bg-light: #f8f9fa;
    --white: #ffffff;
    --border-radius: 12px;
}

body { font-family: 'Open Sans', sans-serif; line-height: 1.7; color: var(--text-main); margin: 0; padding: 0; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6 { font-family: 'Montserrat', sans-serif; font-weight: 700; color: #111; margin-top: 0; }

.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.py-5 { padding-top: 5rem; padding-bottom: 5rem; }
.mb-4 { margin-bottom: 1.5rem; }
.mb-5 { margin-bottom: 3rem; }
.mt-3 { margin-top: 1rem; }
.mt-4 { margin-top: 1.5rem; }
.mt-5 { margin-top: 3rem; }
.text-center { text-align: center; }
.text-muted { color: var(--text-muted); }
.text-primary { color: var(--primary); }
.position-relative { position: relative; }
.mb-0 { margin-bottom: 0; }

.row { display: flex; flex-wrap: wrap; margin-right: -15px; margin-left: -15px; }
.col-md-4 { flex: 0 0 33.333%; max-width: 33.333%; padding: 0 15px; box-sizing: border-box; }
.col-md-6 { flex: 0 0 50%; max-width: 50%; padding: 0 15px; box-sizing: border-box; }
@media (max-width: 768px) { .col-md-6, .col-md-4 { flex: 0 0 100%; max-width: 100%; } }
.align-items-center { align-items: center; }

.section-badge { display: inline-block; padding: 6px 15px; background: rgba(15, 76, 129, 0.1); color: var(--primary); font-family: 'Montserrat', sans-serif; font-size: 0.85rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; border-radius: 30px; margin-bottom: 15px; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-family: 'Montserrat', sans-serif; font-weight: 600; text-align: center; padding: 0.8rem 1.8rem; font-size: 0.95rem; border-radius: 8px; transition: all 0.3s ease; text-decoration: none; border: 2px solid transparent; cursor: pointer; }
.btn-lg { padding: 1rem 2.5rem; font-size: 1.05rem; }
.btn-primary { color: var(--white); background-color: var(--primary); border-color: var(--primary); box-shadow: 0 4px 15px rgba(15, 76, 129, 0.2); }
.btn-primary:hover { background-color: var(--primary-dark); border-color: var(--primary-dark); transform: translateY(-2px); box-shadow: 0 6px 20px rgba(15, 76, 129, 0.3); }
.btn-secondary { color: var(--text-main); background-color: var(--white); border-color: #ddd; }
.btn-secondary:hover { background-color: #f1f1f1; border-color: #ccc; transform: translateY(-2px); }
.btn-outline-primary { color: var(--primary); background-color: transparent; border-color: var(--primary); }
.btn-outline-primary:hover { background-color: var(--primary); color: var(--white); transform: translateY(-2px); }

/* Właściwe przypisanie tła za pomocą inline-style (usunięto background-image stąd, żeby działał z HTML) */
.hero-section { position: relative; background-size: cover; background-position: center; color: white; padding: 150px 0; min-height: 80vh; display: flex; align-items: center; }
.hero-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(0,0,0,0.8) 0%, rgba(15,76,129,0.5) 100%); z-index: 1; }
.hero-content { position: relative; z-index: 2; max-width: 700px; }
.hero-content h1 { font-size: 3.8rem; font-weight: 800; margin-bottom: 25px; line-height: 1.15; color: #fff; text-shadow: 0 2px 10px rgba(0,0,0,0.3); }
.hero-content .subheadline { font-size: 1.25rem; margin-bottom: 40px; font-weight: 400; opacity: 0.9; max-width: 600px; }
.hero-cta { display: flex; gap: 15px; flex-wrap: wrap; }
@media (max-width: 768px) { .hero-content h1 { font-size: 2.5rem; } .hero-cta { justify-content: center; } .hero-section { text-align: center; } .hero-content { margin: 0 auto; } }

.about-img { width: 100%; border-radius: var(--border-radius); box-shadow: 0 20px 40px rgba(0,0,0,0.1); }
.experience-badge { position: absolute; bottom: -20px; left: 30px; background: var(--white); padding: 20px 30px; border-radius: var(--border-radius); box-shadow: 0 10px 30px rgba(0,0,0,0.1); display: flex; flex-direction: column; align-items: center; border-left: 5px solid var(--primary); }
.experience-badge .number { font-family: 'Montserrat', sans-serif; font-size: 2.5rem; font-weight: 800; color: var(--primary); line-height: 1; }
.experience-badge .text { font-size: 0.85rem; font-weight: 600; text-transform: uppercase; color: var(--text-muted); margin-top: 5px; }

.features-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.feature-item h4 { font-size: 1.1rem; margin: 10px 0 5px; }
.feature-item p { font-size: 0.9rem; color: var(--text-muted); margin: 0; }
.feature-item i { font-size: 1.5rem; }
@media (max-width: 576px) { .features-grid { grid-template-columns: 1fr; } }

.bg-light { background-color: var(--bg-light); }
.service-card { background: var(--white); border-radius: var(--border-radius); box-shadow: 0 5px 20px rgba(0,0,0,0.04); height: 100%; transition: all 0.3s ease; overflow: hidden; display: flex; flex-direction: column; border: 1px solid rgba(0,0,0,0.03); }
.service-card:hover { transform: translateY(-10px); box-shadow: 0 15px 30px rgba(0,0,0,0.1); }
.service-img-wrapper { position: relative; height: 240px; overflow: hidden; }
.service-img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.service-card:hover .service-img { transform: scale(1.05); }
.service-icon { position: absolute; bottom: -25px; right: 25px; width: 50px; height: 50px; background: var(--primary); color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; box-shadow: 0 4px 10px rgba(15,76,129,0.3); z-index: 2; border: 4px solid white; }
.service-content { padding: 35px 30px 30px; flex-grow: 1; }
.service-content h3 { font-size: 1.3rem; margin-bottom: 15px; color: #222; }
.service-content p { color: var(--text-muted); margin: 0; font-size: 0.95rem; }

.contact-card { background: var(--white); padding: 60px 40px; border-radius: 16px; box-shadow: 0 20px 50px rgba(0,0,0,0.05); }
.contact-icon-modern { width: 70px; height: 70px; margin: 0 auto 20px; background: rgba(15, 76, 129, 0.05); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--primary); font-size: 2rem; transition: all 0.3s ease; }
.contact-card:hover .contact-icon-modern { background: var(--primary); color: white; transform: scale(1.1); }
.contact-link { font-family: 'Montserrat', sans-serif; font-size: 1.3rem; font-weight: 700; color: #111; text-decoration: none; transition: color 0.2s; }
.contact-link:hover { color: var(--primary); }
.contact-actions { display: flex; gap: 15px; justify-content: center; flex-wrap: wrap; }
