:root {
    --primary-dark: #1a3042; 
    --primary-blue: #0d47a1;
    --accent-orange: #f9a826;
    --text-main: #333;
    --text-light: #fff;
    --bg-light: #f4f6f9;
}

html { scroll-behavior: smooth; scroll-padding-top: 100px; }
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Inter', sans-serif; color: var(--text-main); line-height: 1.6; overflow-x: hidden; background: #fff; }
a { text-decoration: none; color: inherit; transition: 0.3s; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.section-padding { padding: 80px 0; }
.text-orange { color: var(--accent-orange); }

/* Анимации */
.animate-on-scroll { opacity: 0; transition: all 0.8s ease-out; }
.fade-in-up { transform: translateY(40px); }
.slide-up { transform: translateY(30px); }
.fade-in { transform: scale(0.95); }
.zoom-in { transform: scale(0.85); }
.animate-on-scroll.is-visible { opacity: 1; transform: translateY(0) scale(1); }

/* HEADER */
.header { background: var(--primary-dark); color: #fff; padding: 12px 0; position: sticky; top: 0; z-index: 1000; box-shadow: 0 4px 15px rgba(0,0,0,0.2); }
.header-container { display: flex; justify-content: space-between; align-items: center; }
.logo-icon-header { height: 50px; width: auto; max-width: 100%; object-fit: contain; transition: transform 0.3s ease; }
.brand-logo:hover .logo-icon-header { transform: scale(1.03); }
.main-nav ul { list-style: none; display: flex; gap: 25px; }
.main-nav a { font-size: 0.95rem; font-weight: 600; opacity: 0.8; }
.main-nav a:hover, .main-nav a.active { opacity: 1; color: var(--accent-orange); }

/* HERO */
.hero { height: 75vh; background: url('https://images.unsplash.com/photo-1601584115197-04ecc0da31d7?q=80&w=1920&auto=format&fit=crop') center/cover; position: relative; display: flex; align-items: center; }
.hero-overlay { position: absolute; top:0; left:0; width:100%; height:100%; background: rgba(26, 48, 66, 0.75); }
.hero-content { position: relative; z-index: 1; color: #fff; }
.hero h1 { font-size: 3.5rem; font-weight: 900; line-height: 1.1; margin-bottom: 20px; }

/* PAGE HEADER (Баннеры внутренних страниц) */
.page-header { height: 35vh; background: url('https://images.unsplash.com/photo-1586528116311-ad8dd3c8310d?q=80&w=1920&auto=format&fit=crop') center/cover; position: relative; display: flex; align-items: center; justify-content: center; text-align: center; }
.routes-header-bg { background: url('https://images.unsplash.com/photo-1524661135-423995f22d0b?q=80&w=1920&auto=format&fit=crop') center/cover; }
.fleet-header-bg { background: url('https://images.unsplash.com/photo-1586528116493-a028267210e3?q=80&w=1920&auto=format&fit=crop') center/cover; }
.warehouse-header-bg { background: url('https://images.unsplash.com/photo-1604014237800-1c9102c219da?q=80&w=1920&auto=format&fit=crop') center/cover; }
.contacts-header-bg { background: url('https://images.unsplash.com/photo-1516387938699-a93567ec168e?q=80&w=1920&auto=format&fit=crop') center/cover; }
.page-header-content { position: relative; z-index: 1; color: #fff; }
.page-header h1 { font-size: 3rem; font-weight: 900; margin-bottom: 10px; }

/* SERVICES & FLEET GRID */
.services-grid, .fleet-preview-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 30px; }
.fleet-preview-grid { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }
.service-card { background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 10px 25px rgba(0,0,0,0.1); display: flex; flex-direction: column; position: relative; }
.card-image-wrapper { height: 220px; position: relative; overflow: hidden; }
.card-image-wrapper img { width: 100%; height: 100%; object-fit: cover; transition: 0.5s; }
.read-more-overlay { position: absolute; bottom: -100%; left: 0; width: 100%; height: 100%; background: rgba(26, 48, 66, 0.9); display: flex; align-items: center; justify-content: center; transition: 0.4s; color: #fff; font-weight: bold; font-size: 1.1rem; }
.service-card:hover .read-more-overlay { bottom: 0; }
.service-card:hover img { transform: scale(1.1); }
.card-content { padding: 25px; background: var(--primary-dark); color: #fff; display: flex; align-items: center; gap: 15px; }
.card-content i { color: var(--accent-orange); font-size: 1.4rem; }

/* SERVICE DETAIL ROWS */
.service-detail-row { display: flex; align-items: center; gap: 50px; margin-bottom: 80px; }
.service-detail-row:nth-child(even) { flex-direction: row-reverse; }
.service-detail-img { flex: 1; border-radius: 15px; overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,0.1); }
.service-detail-img img { width: 100%; display: block; transition: transform 0.5s; }
.service-detail-row:hover .service-detail-img img { transform: scale(1.05); }
.service-detail-content { flex: 1; }
.service-detail-content h2 { font-size: 2.2rem; color: var(--primary-dark); margin-bottom: 15px; display: flex; align-items: center; gap: 15px;}
.service-detail-content h2 i { color: var(--accent-orange); }
.service-detail-content ul { list-style: none; margin: 20px 0; }
.service-detail-content li { margin-bottom: 10px; display: flex; align-items: flex-start; gap: 10px; font-weight: 400; color: #444; }
.service-detail-content li strong { color: #222; min-width: 140px; display: inline-block; }

/* ROUTES MAP (Ссылка на главной) */
a.map-container { display: flex; background: url('https://images.unsplash.com/photo-1524661135-423995f22d0b?q=80&w=1200&auto=format&fit=crop') center/cover; height: 350px; border-radius: 15px; position: relative; align-items: center; padding: 40px; color: #fff; overflow: hidden; text-decoration: none; }
a.map-container::before { content: ''; position: absolute; top:0; left:0; width:100%; height:100%; background: rgba(26, 48, 66, 0.7); transition: 0.4s; }
a.map-container:hover::before { background: rgba(26, 48, 66, 0.5); }
.map-text { position: relative; z-index: 1; }
.map-text h3 { font-size: 2rem; margin-bottom: 10px; display: flex; align-items: center; gap: 15px; }
.map-text p { font-size: 1.2rem; opacity: 0.9; }
a.map-container .read-more-overlay { z-index: 2; }
a.map-container:hover .read-more-overlay { bottom: 0; }

/* ROUTES PAGE CARDS */
.routes-grid-page { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; margin-bottom: 60px; }
.route-card { background: #fff; border-radius: 10px; padding: 30px; box-shadow: 0 10px 25px rgba(0,0,0,0.05); border-top: 4px solid var(--primary-blue); transition: all 0.3s ease; }
.route-card:hover { transform: translateY(-7px); box-shadow: 0 15px 35px rgba(0,0,0,0.12); border-color: var(--accent-orange); }
.route-header { font-size: 1.4rem; font-weight: 700; color: var(--primary-dark); margin-bottom: 20px; display: flex; align-items: center; justify-content: space-between; }
.route-details p { font-weight: 600; color: #444; margin-bottom: 10px; display: flex; align-items: center; gap: 12px; }
.route-details i { color: var(--accent-orange); width: 20px; text-align: center; }
.route-desc { font-size: 0.95rem; color: #666; font-weight: 400; margin-top: 20px; padding-top: 20px; border-top: 1px solid #eee; line-height: 1.5; }

/* Custom Route CTA */
.custom-route-cta { background: var(--bg-light); padding: 50px; border-radius: 15px; text-align: center; border: 1px dashed rgba(26, 48, 66, 0.2); }
.custom-route-cta h3 { font-size: 2rem; color: var(--primary-dark); margin-bottom: 15px; }
.custom-route-cta p { font-size: 1.1rem; color: #555; margin-bottom: 30px; max-width: 800px; margin-left: auto; margin-right: auto; }

/* --- CONTACTS PAGE STYLES --- */
.contact-wrapper { display: grid; grid-template-columns: 1fr 1.5fr; gap: 40px; margin-bottom: 60px; }
.contact-info-box { background: var(--bg-light); padding: 40px; border-radius: 15px; border-top: 4px solid var(--accent-orange); }
.contact-info-box h3 { font-size: 1.8rem; color: var(--primary-dark); margin-bottom: 10px; }
.contact-info-item { margin-bottom: 25px; }
.contact-info-item h4 { color: var(--primary-dark); font-size: 1.1rem; margin-bottom: 5px; display: flex; align-items: center; gap: 10px; }
.contact-info-item h4 i { color: var(--accent-orange); width: 20px; text-align: center; }
.contact-info-item p { color: #444; margin-left: 30px; line-height: 1.5; }
.contact-info-item a { color: var(--primary-blue); font-weight: 600; }
.contact-info-item a:hover { color: var(--accent-orange); }

.detailed-form { background: #fff; padding: 40px; border-radius: 15px; box-shadow: 0 10px 30px rgba(0,0,0,0.08); border: 1px solid #eee; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
.detailed-form input, .detailed-form select, .detailed-form textarea { width: 100%; padding: 15px; border: 1px solid #ddd; border-radius: 5px; font-family: 'Inter', sans-serif; font-size: 1rem; color: #333; transition: 0.3s; background: #fafafa; }
.detailed-form input:focus, .detailed-form select:focus, .detailed-form textarea:focus { outline: none; border-color: var(--primary-blue); box-shadow: 0 0 0 3px rgba(13, 71, 161, 0.1); background: #fff; }
.detailed-form textarea { resize: vertical; min-height: 140px; margin-bottom: 20px; }

.contact-map-wrapper { border-radius: 15px; overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,0.1); }

/* BUTTONS */
.btn { padding: 14px 30px; border-radius: 4px; font-weight: 700; display: inline-block; cursor: pointer; border: none; transition: 0.3s; font-size: 1rem; }
.btn-primary { background: var(--primary-blue); color: #fff; }
.btn-primary:hover { background: #0b3a82; transform: translateY(-2px); box-shadow: 0 5px 15px rgba(13, 71, 161, 0.3); }
.btn-secondary { border: 2px solid #fff; color: #fff; margin-left: 10px; background: transparent; }
.btn-secondary:hover { background: #fff; color: var(--primary-dark); }

/* FOOTER */
.footer { background: var(--primary-dark); color: #fff; padding: 60px 0 30px; border-top: 5px solid var(--accent-orange); }
.footer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 40px; }
.logo-icon-footer { height: 55px; width: auto; max-width: 100%; object-fit: contain; }
.contact-item { margin-bottom: 10px; display: flex; align-items: center; gap: 10px; }
.contact-item i { color: var(--accent-orange); }
.quick-form input { width: 100%; padding: 10px; margin-bottom: 10px; background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.2); color: #fff; border-radius: 4px; }
.quick-form input:focus { outline: none; border-color: var(--accent-orange); }
.copyright { text-align: center; padding-top: 20px; border-top: 1px solid rgba(255,255,255,0.1); margin-top: 30px; font-size: 0.8rem; opacity: 0.7; }

/* Responsive */
@media (max-width: 992px) {
    .service-detail-row, .service-detail-row:nth-child(even) { flex-direction: column; gap: 30px; margin-bottom: 60px; }
    .service-detail-img { width: 100%; }
    .contact-wrapper { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
    .header-container { flex-direction: column; gap: 10px; }
    .hero h1 { font-size: 2.2rem; }
    .page-header h1 { font-size: 2rem; }
    .map-text h3 { font-size: 1.5rem; flex-direction: column; align-items: flex-start; gap: 5px; }
    .form-row { grid-template-columns: 1fr; gap: 15px; }
}