/* Dongfeng Michalovce — hlavné štýly. Načítať pred responsive.css.
   Poradie pravidiel zachováva vzhľad pôvodnej verzie. */

/* ===== 01. Základ dokumentu ===== */
:root { color-scheme: dark; font-family: Arial, Helvetica, sans-serif; scroll-behavior: smooth; }
* { box-sizing: border-box; }
body { margin: 0; background: #101723; color: #fff; }
a { color: inherit; text-decoration: none; }
/* ===== 02. Hlavička a navigácia ===== */
.site-header { position: fixed; inset: 0 0 auto; z-index: 20; height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 0 clamp(22px, 5vw, 96px); background: rgba(12, 25, 43, .22); border-bottom: 1px solid rgba(255,255,255,.2); backdrop-filter: blur(13px); -webkit-backdrop-filter: blur(13px); transition: background .25s, box-shadow .25s; }
.site-header.scrolled, .site-header.menu-open { background: rgba(12, 25, 43, .68); box-shadow: 0 12px 30px rgba(0,0,0,.18); }
.brand { display: inline-flex; align-items: center; flex: 0 0 auto; }
.brand img { display: block; width: clamp(170px, 18vw, 235px); height: auto; }
.nav { display: flex; align-items: center; justify-content: flex-end; gap: clamp(18px, 2.3vw, 42px); margin-left: auto; color: #fff; text-shadow: 0 1px 7px rgba(0,0,0,.38); }
.nav > a { position: relative; white-space: nowrap; font-size: 14px; font-weight: 600; letter-spacing: .075em; text-transform: uppercase; padding: 30px 0; }
.nav > a::after { content: ''; position: absolute; bottom: 21px; left: 0; width: 0; height: 2px; background: #fff; transition: width .2s; }
.nav > a:hover::after, .nav > a:focus-visible::after { width: 100%; }
.nav-group { position: relative; }
.nav-trigger { position: relative; display: inline-flex; align-items: center; border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; white-space: nowrap; font-size: 14px; font-weight: 600; letter-spacing: .075em; text-transform: uppercase; padding: 30px 0; }
.nav-trigger::after { content: ''; position: absolute; bottom: 21px; left: 0; width: 0; height: 2px; background: #fff; transition: width .2s; }
.nav-trigger:hover::after, .nav-trigger:focus-visible::after { width: 100%; }
.submenu { display: none; position: absolute; top: 100%; left: -18px; min-width: 245px; padding: 10px; background: rgba(10, 23, 40, .10); border: 1px solid rgba(255,255,255,.28); backdrop-filter: blur(21px); -webkit-backdrop-filter: blur(21px); box-shadow: 0 20px 40px rgba(0,0,0,.27); }
.nav-group:nth-last-child(2) .submenu { left: auto; right: 0; }
.nav-group:hover .submenu, .nav-group:focus-within .submenu, .nav-group.expanded .submenu { display: block; }
.submenu a { display: block; padding: 13px 14px; color: #fff; font-size: 13px; font-weight: 500; line-height: 1.35; white-space: normal; }
.submenu a + a { border-top: 1px solid rgba(255,255,255,.12); }
.submenu a:hover, .submenu a:focus-visible { background: rgba(255,255,255,.11); }
.submenu-models { position: fixed; top: 78px; left: 0; right: 0; width: 100%; max-height: calc(100dvh - 78px); overflow-y: auto; padding: 14px clamp(22px, 5vw, 96px) 20px; color: #172b4c; text-shadow: none; background: rgba(255,255,255,.97); border: 0; border-top: 1px solid rgba(16,39,73,.1); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); box-shadow: 0 22px 38px rgba(0,0,0,.14); }
.model-row { display: grid; grid-template-columns: 210px minmax(0,1fr); align-items: center; gap: 25px; padding: 12px 0; border-bottom: 1px solid #e7eaf0; }
.model-row:last-of-type { border-bottom: 0; }
.model-row h3 { margin: 0; font-size: 16px; line-height: 1.5; font-weight: 600; text-transform: uppercase; }
.model-track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(160px, 1fr); gap: 16px; overflow-x: auto; overscroll-behavior-inline: contain; padding: 4px 0 10px; scrollbar-width: thin; scrollbar-color: #a6b1c4 transparent; }
.model-track:focus-visible { outline: 2px solid #172b4c; outline-offset: 2px; }
.model-card { min-height: 134px; min-width: 160px; padding: 11px 8px 8px; background: #f6f8fb; }
.model-card strong { display: block; min-height: 34px; font-size: 13px; line-height: 1.35; font-weight: 600; }
.model-image { display: block; height: 75px; margin-top: 5px; background: linear-gradient(145deg, #eef2f7, #dce3ec); }
.submenu-models .view-all { display: inline-block; margin-top: 12px; padding: 10px 0; color: #172b4c; border: 0; font-size: 13px; font-weight: 600; }
.submenu-models .view-all:hover, .submenu-models .view-all:focus-visible { background: none; text-decoration: underline; }
.menu-toggle { display: none; border: 0; background: transparent; color: #fff; font: inherit; font-size: 28px; cursor: pointer; }
/* ===== 03. Úvodné video ===== */
.hero { position: relative; isolation: isolate; min-height: 100vh; min-height: 100svh; display: flex; align-items: center; padding: 150px clamp(22px, 8vw, 150px) 85px; overflow: hidden; background: #142338 url('../../media/shine-home-poster.jpg') center / cover no-repeat; }
.hero::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(5,14,26,.68), rgba(5,14,26,.1) 75%), linear-gradient(0deg, rgba(5,14,26,.55), transparent 52%); }
.hero-media { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.hero-content { position: relative; max-width: 900px; }
.eyebrow { font-size: 12px; text-transform: uppercase; letter-spacing: .24em; opacity: .75; }
h1 { margin: 18px 0; font-size: clamp(42px, 6vw, 88px); line-height: 1.08; font-weight: 500; letter-spacing: -.045em; }
.hero p { max-width: 520px; font-size: clamp(16px, 1.4vw, 19px); line-height: 1.6; color: #e6eaf0; }
/* ===== 04. Predstavenie značky ===== */
.brand-story { background: #fff; color: #11284b; padding: clamp(70px, 7vw, 125px) clamp(22px, 5vw, 96px); }
.brand-story-inner { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(0, 1fr); align-items: center; gap: clamp(36px, 5vw, 96px); max-width: 1720px; margin: 0 auto; }
.brand-story img { display: block; width: 100%; height: 100%; aspect-ratio: 1.52; object-fit: cover; object-position: center; }
.brand-story h2 { margin: 0 0 24px; font-size: clamp(28px, 2.45vw, 44px); line-height: 1.2; font-weight: 500; letter-spacing: -.025em; }
.brand-story p { max-width: 730px; margin: 0; font-size: clamp(16px, 1.1vw, 19px); line-height: 1.9; }
/* ===== 05. Modely na úvodnej stránke a karusel ===== */
.home-models { padding: clamp(54px, 6vw, 86px) clamp(22px, 5vw, 96px); background: #f5f2eb; color: #172435; scroll-margin-top: 78px; }
.home-models-inner { max-width: 1380px; margin: auto; }
.home-models-heading { display: flex; justify-content: space-between; align-items: end; gap: 36px; margin-bottom: 30px; }
.home-models-heading .eyebrow { display: block; color: #9a8060; font-weight: 700; opacity: 1; }
.home-models h2 { margin: 12px 0 0; font-size: clamp(36px, 4.2vw, 58px); line-height: 1.06; font-weight: 400; letter-spacing: -.055em; }
.home-models-heading p { max-width: 360px; margin: 0 0 4px; color: #5c6770; font-size: 16px; line-height: 1.7; }
.home-model-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(16px, 3vw, 40px); }
.home-model { min-width: 0; padding-top: 17px; border-top: 1px solid #c9c5bb; }
.home-model-top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.home-model h3 { margin: 0; font-size: clamp(23px,2vw,30px); font-weight: 500; letter-spacing: -.035em; }
.home-model .drive { color: #768075; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.home-model img { display: block; width: 100%; height: clamp(135px,14vw,185px); margin: 10px auto 0; object-fit: contain; transition: transform .38s ease, filter .38s ease; }
.home-model img:hover { transform: translateY(-7px) scale(1.045); filter: drop-shadow(0 14px 10px rgba(23,36,53,.18)); }
.home-model-home-link { display: block; }
.home-model-home-link:focus-visible { outline: 2px solid #9a8060; outline-offset: 4px; }
.home-model .home-price { display: block; margin-top: 5px; font-size: 17px; font-weight: 600; }
.home-model-carousel-viewport { overflow: hidden; }
.home-models .home-model-grid { --model-gap: clamp(16px, 3vw, 40px); display: flex; gap: var(--model-gap); position: relative; transition: transform .65s cubic-bezier(.22,.61,.36,1); }
.home-models .home-model { flex: 0 0 calc((100% - 2 * var(--model-gap)) / 3); }
.home-model-carousel-controls { display: flex; justify-content: flex-end; align-items: center; gap: 18px; margin-top: 20px; }
.home-model-carousel-count { color: #64717d; font-size: 12px; font-weight: 700; letter-spacing: .12em; }
.home-model-carousel-buttons { display: flex; gap: 9px; }
.home-model-carousel-buttons button { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid #c6ccd3; border-radius: 50%; background: transparent; color: #172435; font: 23px Arial,sans-serif; cursor: pointer; transition: background .2s, color .2s; }
.home-model-carousel-buttons button:hover, .home-model-carousel-buttons button:focus-visible { background: #172435; color: #fff; }
.home-models-all { display: flex; align-items: center; justify-content: center; gap: 22px; width: fit-content; margin: 64px auto 0; padding: 18px 26px; background: #172435; color: #f5f2eb; font-size: 12px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; transition: background .2s, transform .2s; }
.home-models-all:hover, .home-models-all:focus-visible { background: #394b5b; transform: translateY(-2px); }
/* ===== 06. Aktuality na úvodnej stránke ===== */
.home-updates { padding: clamp(66px, 7vw, 106px) clamp(22px, 5vw, 96px); background: #fff; color: #172435; scroll-margin-top: 80px; }
.updates-inner { max-width: 1380px; margin: auto; }
.updates-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 30px; }
.updates-heading .eyebrow { color: #9a8060; font-weight: 700; opacity: 1; }
.updates-heading h2 { margin: 11px 0 0; font-size: clamp(38px, 4vw, 58px); font-weight: 400; line-height: 1.08; letter-spacing: -.05em; }
.updates-heading p { max-width: 380px; margin: 0 0 5px; color: #5c6770; line-height: 1.6; }
.updates-carousel { position: relative; overflow: hidden; }
.updates-track { position: relative; display: flex; gap: 22px; transition: transform .65s cubic-bezier(.22,.61,.36,1); }
.update-slide { flex: 0 0 calc((100% - 22px) / 2); min-width: 0; background: #172435; color: #fff; }
.update-image { height: clamp(225px, 22vw, 320px); overflow: hidden; background: #e9edf0; }
.update-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .65s ease; }
.update-slide:hover .update-image img { transform: scale(1.045); }
.update-content { display: flex; flex-direction: column; align-items: start; min-height: 234px; padding: 25px clamp(22px, 3vw, 38px) 31px; }
.update-category { color: #edb08a; font-size: 11px; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.update-content h3 { margin: 13px 0 12px; font-size: clamp(27px, 2.6vw, 38px); font-weight: 400; line-height: 1.1; letter-spacing: -.04em; }
.update-content p { max-width: 440px; margin: 0; color: #d7e0e9; font-size: 16px; line-height: 1.55; }
.update-content .update-price { margin-top: auto; padding-top: 17px; color: #fff; font-size: 19px; font-weight: 700; }
.updates-controls { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 19px; }
.updates-count { color: #64717d; font-size: 13px; font-weight: 700; letter-spacing: .12em; }
.updates-buttons { display: flex; gap: 9px; }
.updates-buttons button { display: grid; place-items: center; width: 45px; height: 45px; border: 1px solid #c6ccd3; border-radius: 50%; background: transparent; color: #172435; font: 25px Arial,sans-serif; cursor: pointer; transition: background .2s, color .2s; }
.updates-buttons button:hover, .updates-buttons button:focus-visible { background: #172435; color: #fff; }
@media (max-width: 780px) { .updates-heading { display: block; } .updates-heading p { margin-top: 18px; } .updates-track { gap: 14px; } .update-slide { flex-basis: 88%; } .update-image { height: clamp(200px, 50vw, 340px); } .update-content { min-height: 225px; } }
@media (prefers-reduced-motion: reduce) { .updates-track, .home-models .home-model-grid, .home-model img { transition: none; } .home-model img:hover { transform: none; } }
/* ===== 07. Servis na úvodnej stránke ===== */
.home-service { padding: clamp(65px,7vw,108px) clamp(22px,5vw,96px); background: #fff; color: #172435; }
.home-service-inner { position: relative; max-width: 1380px; margin: auto; }
.home-service-card { width: 84%; min-height: 430px; display: flex; flex-direction: column; justify-content: center; align-items: start; padding: clamp(34px,5vw,74px); background: #172435; color: #fff; }
.home-service-card .eyebrow { color: #edb08a; opacity: 1; font-weight: 700; }
.home-service-card h2 { max-width: 530px; margin: 16px 0 17px; font-size: clamp(34px,4vw,58px); line-height: 1.1; font-weight: 400; letter-spacing: -.05em; }
.home-service-card p { max-width: 505px; margin: 0 0 26px; color: #d7e0e9; font-size: 17px; line-height: 1.65; }
.home-service-button { display: inline-flex; align-items: center; gap: 26px; padding: 16px 21px; border: 1px solid #fff; color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; transition: background .2s, color .2s; }
.home-service-button:hover, .home-service-button:focus-visible { background: #fff; color: #172435; }
.home-service-media { position: absolute; right: 0; top: 50%; width: 45%; aspect-ratio: 676 / 343; transform: translateY(-50%); background: #b4d4e3 url('../../media/dongfeng-servis-technologie.jpg') center / cover no-repeat; }
@media (max-width: 980px) { .home-service-card { width: 100%; padding-bottom: 0; min-height: 0; } .home-service-card h2, .home-service-card p { max-width: 100%; } .home-service-media { position: relative; top: auto; right: auto; width: 100%; max-width: 680px; margin: 32px auto 0; transform: none; } }
/* ===== 08. Podstránka Servis ===== */
.service-section { display: none; padding: clamp(112px,9vw,145px) clamp(22px,5vw,96px) 110px; background: #fff; color: #172435; }
.service-wrap { max-width: 1380px; margin: auto; }
.service-intro { display: grid; grid-template-columns: 1fr .7fr; align-items: end; gap: 40px; padding-bottom: 56px; border-bottom: 1px solid #d8dde2; }
.service-intro h2 { margin: 18px 0 0; font-size: clamp(50px,6vw,90px); line-height: 1.05; letter-spacing: -.06em; font-weight: 400; }
.service-intro p { max-width: 480px; margin: 0 0 5px; color: #566470; font-size: 19px; line-height: 1.65; }
.service-photo { display: block; width: 100%; aspect-ratio: 16 / 9; margin: 54px 0 65px; background: #b4d4e3 url('../../media/dongfeng-servis-technologie.jpg') center / cover no-repeat; }
.service-benefits { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 64px; }
.service-benefits article { padding: 30px 0 38px; border-top: 1px solid #d8dde2; }
.service-benefits span { color: #9a8060; font-size: 12px; font-weight: 700; letter-spacing: .12em; }
.service-benefits h3 { margin: 13px 0; font-size: clamp(22px,2vw,30px); font-weight: 500; letter-spacing: -.03em; }
.service-benefits p { margin: 0; max-width: 570px; color: #566470; line-height: 1.7; }
.service-cta { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 50px; padding: clamp(30px,5vw,65px); background: #172435; color: #fff; }
.service-cta h3 { margin: 0; font-size: clamp(26px,3vw,42px); font-weight: 400; letter-spacing: -.04em; }
@media (max-width: 750px) { .service-intro { grid-template-columns: 1fr; gap: 20px; } .service-benefits { grid-template-columns: 1fr; } .service-cta { display: block; } .service-cta a { margin-top: 26px; } }
/* ===== 09. Objednávka do servisu ===== */
.booking-section { display: none; padding: clamp(112px,9vw,145px) clamp(22px,5vw,96px) 110px; background: #fff; color: #172435; }
.booking-wrap { max-width: 1380px; margin: auto; }
.booking-heading { margin-bottom: 54px; padding-bottom: 44px; border-bottom: 1px solid #d8dde2; }
.booking-heading .eyebrow { color: #9a8060; font-weight: 700; opacity: 1; }
.booking-heading h2 { margin: 17px 0 18px; font-size: clamp(50px,6vw,90px); line-height: 1.05; font-weight: 400; letter-spacing: -.06em; }
.booking-heading p { max-width: 750px; margin: 0; color: #566470; font-size: 19px; line-height: 1.65; }
.booking-form { color-scheme: light; padding: clamp(28px,5vw,64px); background: #f5f2eb; }
.booking-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px 42px; }
.booking-form label, .booking-form legend { color: #172435; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.booking-fields label { display: flex; flex-direction: column; gap: 8px; }
.booking-form input:not([type="checkbox"]), .booking-form textarea { width: 100%; min-height: 49px; padding: 12px 0; border: 0; border-bottom: 1px solid #bfc5c5; border-radius: 0; background: transparent; color: #172435; font: 16px Arial,sans-serif; }
.booking-form input:focus-visible, .booking-form textarea:focus-visible { outline: 2px solid #9a8060; outline-offset: 3px; }
.booking-form input::placeholder, .booking-form textarea::placeholder { color: #747d83; }
.booking-options { margin: 46px 0 0; padding: 0; border: 0; }
.booking-options legend { margin-bottom: 19px; }
.booking-checks { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 21px 30px; padding: 27px 0; border-top: 1px solid #c9c5bb; border-bottom: 1px solid #c9c5bb; }
.booking-checks label { display: flex; align-items: flex-start; gap: 12px; font-size: 14px; font-weight: 400; letter-spacing: 0; line-height: 1.5; text-transform: none; }
.booking-checks input { flex: 0 0 auto; width: 18px; height: 18px; margin: 1px 0 0; accent-color: #172435; }
.booking-message { display: flex; flex-direction: column; gap: 10px; margin-top: 35px; }
.booking-form textarea { min-height: 125px; resize: vertical; }
.booking-notice { max-width: 790px; margin: 22px 0 0; color: #596773; font-size: 13px; line-height: 1.7; }
.booking-notice a { text-decoration: underline; text-underline-offset: 3px; }
.booking-submit { display: inline-flex; align-items: center; gap: 24px; margin-top: 30px; padding: 20px 28px; border: 0; border-radius: 0; background: #172435; color: #fff; font: 700 12px Arial,sans-serif; letter-spacing: .11em; text-transform: uppercase; cursor: pointer; transition: background .2s, transform .2s; }
.booking-submit:hover, .booking-submit:focus-visible { background: #394b5b; transform: translateY(-2px); }
.booking-status { padding: 15px 18px; background: #e8f4ec; color: #173f29; line-height: 1.5; }
.booking-status[hidden] { display: none; }
@media (max-width: 690px) { .booking-heading { margin-bottom: 32px; padding-bottom: 30px; } .booking-fields { grid-template-columns: 1fr; gap: 24px; } .booking-checks { grid-template-columns: 1fr; gap: 19px; } .booking-submit { justify-content: center; width: 100%; } }
/* ===== 10. Katalóg modelov ===== */
.models-section { display: none; padding: clamp(116px, 10vw, 160px) clamp(22px, 5vw, 96px) 120px; background: #f5f2eb; color: #172435; }
.models-wrap { max-width: 1380px; margin: auto; }
.models-header { display: flex; align-items: end; justify-content: space-between; gap: 36px; padding-bottom: 48px; border-bottom: 1px solid #c9c5bb; }
.models-header .eyebrow { display: block; color: #9a8060; font-weight: 700; opacity: 1; }
.models-header h2 { margin: 14px 0 0; font-size: clamp(50px, 6.5vw, 96px); line-height: 1; font-weight: 400; letter-spacing: -.065em; }
.models-header p { max-width: 370px; margin: 0 0 7px; color: #5c6770; font-size: 17px; line-height: 1.7; }
.models-category { padding-top: 54px; }
.models-category + .models-category { margin-top: 55px; border-top: 1px solid #c9c5bb; }
.models-category h3 { margin: 0 0 24px; font-size: 13px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.models-section .home-model-grid { gap: 18px; }
.models-section .home-model { position: relative; display: flex; flex-direction: column; min-height: 380px; padding: 24px 22px 25px; border: 1px solid #263a4f; background: #172435; color: #fff; transition: transform .25s, box-shadow .25s, border-color .25s; }
.models-section .home-model:hover, .models-section .home-model:focus-within { transform: translateY(-5px); border-color: #bba784; box-shadow: 0 16px 28px rgba(23,36,53,.22); }
.models-section .home-model h3 { color: #fff; font-size: clamp(24px,2.1vw,32px); }
.models-section .home-model > a { display: flex; flex: 1; flex-direction: column; }
.models-section .home-model > a:focus-visible { outline: 2px solid #e3ceb0; outline-offset: 5px; }
.models-section .home-model img { height: clamp(175px,19vw,225px); margin: auto 0 5px; }
.models-section .home-price { margin: auto 0 0; color: #f5f2eb; }
.models-section .home-model .drive { color: #e3ceb0; }
.models-section .model-card-link { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 16px; margin-top: 16px; border-top: 1px solid rgba(245,242,235,.3); color: #e3ceb0; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.models-section .home-model:hover .model-card-link { color: #fff; }
.submenu-models .model-card:hover, .submenu-models .model-card:focus-visible { background: rgba(142,158,175,.17); outline: 1px solid rgba(142,158,175,.35); }
/* ===== 11. Detail modelu ===== */
.model-detail-section { display: none; padding: clamp(112px,9vw,145px) clamp(22px,5vw,96px) 105px; background: #f5f2eb; color: #172435; }
.model-detail-wrap { max-width: 1380px; margin: auto; }
.model-detail-back { display: inline-block; padding-bottom: 6px; margin-bottom: 35px; border-bottom: 1px solid #9a8060; color: #77634b; font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.model-detail-back:hover, .model-detail-back:focus-visible { color: #172435; }
.model-detail-intro { display: flex; align-items: end; justify-content: space-between; gap: 35px; padding-bottom: 32px; }
.model-detail-intro .eyebrow { color: #9a8060; font-weight: 700; opacity: 1; }
.model-detail-intro h2 { margin: 14px 0 0; font-size: clamp(58px,8vw,120px); line-height: .95; letter-spacing: -.065em; font-weight: 400; }
.model-detail-intro p { max-width: 450px; margin: 0 0 8px; color: #566470; font-size: clamp(17px,1.5vw,21px); line-height: 1.6; }
.model-detail-photo { display: block; width: 100%; max-height: 690px; aspect-ratio: 1.9; object-fit: cover; background: #d9e0e4; }
.model-detail-video { background: #19202a; }
.model-detail-bottom { display: grid; grid-template-columns: 1fr auto; gap: 35px; align-items: end; padding: 36px 0 48px; border-bottom: 1px solid #c9c5bb; }
.model-detail-price-label { display: block; margin-bottom: 10px; color: #77634b; font-size: 11px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.model-detail-price { margin: 0; font-size: clamp(26px,3vw,42px); font-weight: 500; letter-spacing: -.04em; }
.model-detail-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 30px; min-height: 57px; padding: 17px 22px; background: #172435; color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; transition: background .2s; }
.model-detail-button:hover, .model-detail-button:focus-visible { background: #394b5b; }
.model-detail-story { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.85fr); gap: clamp(30px,7vw,110px); padding: clamp(58px,7vw,100px) 0; }
.model-detail-story .eyebrow, .model-detail-gallery .eyebrow { color: #9a8060; font-weight: 700; opacity: 1; }
.model-detail-story h3 { max-width: 620px; margin: 18px 0 22px; font-size: clamp(36px,4.3vw,66px); line-height: 1.09; font-weight: 400; letter-spacing: -.055em; }
.model-detail-story p { max-width: 650px; margin: 0 0 17px; color: #566470; font-size: clamp(16px,1.25vw,19px); line-height: 1.7; }
.model-detail-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-content: center; gap: 26px 22px; margin: 0; }
.model-detail-facts div { min-width: 0; padding-top: 17px; border-top: 1px solid #c9c5bb; }
.model-detail-facts dt { color: #77634b; font-size: 11px; font-weight: 700; letter-spacing: .12em; line-height: 1.5; text-transform: uppercase; }
.model-detail-facts dd { margin: 10px 0 0; font-size: clamp(20px,2.15vw,30px); line-height: 1.15; letter-spacing: -.035em; }
.model-detail-gallery { padding: clamp(35px,4vw,60px) 0 42px; border-top: 1px solid #c9c5bb; }
.model-detail-gallery h3 { margin: 12px 0 27px; font-size: clamp(30px,3vw,44px); font-weight: 400; letter-spacing: -.045em; }
.model-detail-gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.model-detail-gallery-grid img { display: block; width: 100%; height: clamp(210px,22vw,310px); object-fit: cover; background: #e4e5e4; }
.model-detail-photo-note { margin: 18px 0 0; color: #63707b; font-size: 12px; line-height: 1.6; }
.model-detail-cta { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: clamp(28px,4vw,55px); background: #172435; color: #fff; }
.model-detail-cta h3 { max-width: 570px; margin: 0; font-size: clamp(27px,3.1vw,44px); line-height: 1.15; font-weight: 400; letter-spacing: -.04em; }
.model-detail-cta .model-detail-button { flex: 0 0 auto; border: 1px solid #fff; }
.model-detail-cta .model-detail-button:hover, .model-detail-cta .model-detail-button:focus-visible { background: #fff; color: #172435; }
.model-detail-next { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 32px; font-size: 13px; }
.model-detail-next span { color: #68747b; }
.model-detail-next a { border-bottom: 1px solid #172435; padding-bottom: 5px; font-weight: 700; }
@media (max-width: 720px) { .model-detail-intro { display: block; } .model-detail-intro p { margin-top: 20px; } .model-detail-photo { aspect-ratio: 1.25; } .model-detail-bottom { grid-template-columns: 1fr; } .model-detail-button { width: fit-content; } }
@media (max-width: 760px) { .model-detail-story { grid-template-columns: 1fr; } .model-detail-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .model-detail-gallery-grid img { height: clamp(175px,39vw,320px); } .model-detail-cta { display: block; } .model-detail-cta .model-detail-button { margin-top: 24px; } }
@media (max-width: 520px) { .model-detail-gallery-grid { grid-template-columns: 1fr; } .model-detail-gallery-grid img { height: auto; aspect-ratio: 1.5; } .model-detail-next { flex-direction: column; align-items: flex-start; } }
@media (prefers-reduced-motion: reduce) { .models-section .home-model { transition: none; } .models-section .home-model:hover, .models-section .home-model:focus-within { transform: none; } }
@media (max-width: 780px) { .models-header { display: block; } .models-header p { margin-top: 22px; } }
@media (max-width: 780px) { .home-models-heading { display: block; } .home-models-heading p { margin-top: 20px; } .home-model-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 530px) { .home-model-grid { grid-template-columns: 1fr; gap: 34px; } .home-model img { height: 185px; } }
@media (max-width: 780px) { .home-models .home-model { flex-basis: calc((100% - var(--model-gap)) / 2); } }
@media (max-width: 530px) { .home-models .home-model { flex-basis: 100%; } .home-models .home-model-grid { --model-gap: 22px; } }
/* ===== 12. Viditeľnosť stránok podľa data-view ===== */
.contact-section, .about-section, .privacy-section { display: none; }
html[data-view="contact"] .home-view, html[data-view="about"] .home-view, html[data-view="privacy"] .home-view, html[data-view="models"] .home-view, html[data-view="model-detail"] .home-view, html[data-view="service"] .home-view, html[data-view="booking"] .home-view, html[data-view="stock"] .home-view, html[data-view="sales-news"] .home-view, html[data-view="service-news"] .home-view { display: none; }
html[data-view="contact"] .contact-section, html[data-view="about"] .about-section, html[data-view="privacy"] .privacy-section, html[data-view="models"] .models-section, html[data-view="service"] .service-section, html[data-view="booking"] .booking-section, html[data-view="stock"] .stock-section, html[data-view="sales-news"] .sales-news-section, html[data-view="service-news"] .service-news-section { display: block; }
html[data-view="model-detail"] .model-detail-section.is-active { display: block; }
html[data-view="contact"] .site-header, html[data-view="about"] .site-header, html[data-view="privacy"] .site-header, html[data-view="models"] .site-header, html[data-view="model-detail"] .site-header, html[data-view="service"] .site-header, html[data-view="booking"] .site-header, html[data-view="stock"] .site-header, html[data-view="sales-news"] .site-header, html[data-view="service-news"] .site-header { background: rgba(12,25,43,.89); }
/* ===== 13. Pätička a dialóg cookies ===== */
.site-footer { background: #151d2d; color: #f5f7fb; padding: 70px clamp(22px, 5vw, 96px) 35px; font-size: 16px; line-height: 1.65; }
.footer-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 34px 54px; max-width: 1760px; margin: auto; }
.footer-logo { display: block; width: 205px; max-width: 100%; height: auto; margin: 0 0 26px; }
.site-footer h2 { margin: 0 0 24px; font-size: 17px; line-height: 1.3; font-weight: 700; letter-spacing: .025em; text-transform: uppercase; }
.site-footer p { margin: 0 0 13px; }
.site-footer strong { font-weight: 700; }
.site-footer a { text-decoration: none; }
.site-footer a:hover, .site-footer a:focus-visible { text-decoration: underline; }
.footer-social { display: flex; align-items: center; gap: 13px; width: fit-content; margin: 0 0 15px; }
.footer-social svg { width: 21px; height: 21px; flex: 0 0 auto; fill: currentColor; }
.footer-bottom { max-width: 1760px; margin: 46px auto 0; border-top: 1px solid rgba(255,255,255,.11); padding-top: 28px; color: #a3afc3; text-align: center; font-size: 14px; }
.footer-bottom button { border: 0; padding: 0; background: transparent; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; }
/* ===== 14. Základné responzívne pravidlá ===== */
@media (min-width: 761px) and (max-width: 1250px) {
  .site-header { padding-inline: 22px; gap: 16px; }
  .nav { gap: clamp(9px, 1.2vw, 18px); }
  .nav > a { font-size: 11px; letter-spacing: .025em; }
  .nav-trigger { font-size: 11px; letter-spacing: .025em; }
}
@media (max-width: 760px) {
  .site-header { height: 70px; }
  .menu-toggle { display: block; margin-left: auto; }
  .nav { display: none; position: absolute; top: 70px; left: 0; right: 0; max-height: calc(100dvh - 70px); overflow-y: auto; background: rgba(12,25,43,.56); backdrop-filter: blur(19px); -webkit-backdrop-filter: blur(19px); padding: 14px 24px 25px; flex-direction: column; align-items: stretch; gap: 0; }
  .nav.open { display: flex; }
  .nav > a { padding: 15px 0; }
  .nav > a::after { bottom: 7px; }
  .nav-trigger { width: 100%; padding: 15px 0; }
  .nav-trigger::after { bottom: 7px; }
  .submenu { position: static; display: none; min-width: 0; box-shadow: none; padding: 2px 0 10px 14px; border: 0; border-left: 1px solid rgba(255,255,255,.22); background: transparent; }
  .nav-group:nth-last-child(2) .submenu { position: static; }
  .nav-group:hover .submenu, .nav-group:focus-within .submenu { display: none; }
  .nav-group.expanded .submenu { display: block; }
  .submenu a { padding: 11px 8px; }
  .submenu-models { position: static; width: 100%; max-height: min(58dvh, 520px); overflow-y: auto; padding: 12px; background: rgba(255,255,255,.97); border: 0; }
  .model-row { display: block; padding: 15px 0; }
  .model-row h3 { margin-bottom: 12px; font-size: 13px; }
  .model-track { grid-auto-columns: 155px; }
  .submenu-models .view-all { color: #172b4c; }
  .hero { padding-top: 125px; padding-bottom: 85px; }
}
@media (max-width: 1100px) { .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 850px) { .brand-story-inner { grid-template-columns: 1fr; } .brand-story img { aspect-ratio: 1.65; } }
@media (max-width: 560px) { .footer-grid { grid-template-columns: 1fr; gap: 30px; } .site-footer { padding-top: 55px; } .site-footer h2 { margin-bottom: 12px; } }


/* ===== 15. Kontakt ===== */
/* Kontakt — editorial layout in the same document */
.contact-section { background: #fff; color: #1b2733; padding: clamp(100px, 9vw, 140px) clamp(22px, 5vw, 96px) clamp(100px, 10vw, 160px); scroll-margin-top: 78px; }
.contact-wrap { max-width: 1500px; margin: auto; }
.contact-kicker { display: block; color: #8d795e; font-size: 11px; font-weight: 700; letter-spacing: .26em; text-transform: uppercase; margin-bottom: 25px; }
.contact-hero { display: grid; grid-template-columns: 1.05fr .7fr; gap: 40px; align-items: end; padding-bottom: 48px; border-bottom: 1px solid #d9d8d2; }
.contact-hero h2 { margin: 0; font-size: clamp(54px, 6vw, 88px); font-weight: 400; letter-spacing: -.065em; line-height: 1; }
.contact-hero p { max-width: 410px; margin: 0 0 9px auto; font-size: clamp(17px, 1.5vw, 22px); line-height: 1.55; color: #59626a; }
.contact-top { display: grid; grid-template-columns: .85fr 1.15fr; min-height: 410px; margin-top: 70px; }
.contact-location { background: #192634; color: #fff; padding: clamp(34px, 4vw, 66px); display: flex; flex-direction: column; justify-content: space-between; }
.contact-label { display: block; color: #b09b7b; font-size: 11px; font-weight: 700; letter-spacing: .23em; text-transform: uppercase; margin-bottom: 22px; }
.contact-location h3 { margin: 0 0 20px; font-weight: 400; letter-spacing: -.035em; font-size: clamp(32px, 3.1vw, 47px); line-height: 1.15; }
.contact-location address { font-style: normal; line-height: 1.7; color: #cdd3d8; font-size: 17px; }
.contact-location a, .contact-copy a, .contact-person a { text-underline-offset: 5px; }
.contact-location a:hover, .contact-copy a:hover, .contact-person a:hover { text-decoration: underline; }
.contact-map { position: relative; min-height: 410px; background: #d7dad6; }
.contact-map iframe { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border: 0; }
.map-action { position: absolute; bottom: 22px; right: 22px; background: #fff; color: #1b2733; padding: 15px 19px; font-size: 12px; font-weight: 700; letter-spacing: .045em; box-shadow: 0 8px 25px #0002; }
.map-action:hover { background: #192634; color: #fff; }
.contact-quick { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); padding: 34px 0 78px; gap: 28px; border-bottom: 1px solid #d9d8d2; }
.contact-quick > div + div { border-left: 1px solid #d9d8d2; padding-left: 35px; }
.contact-quick span { display: block; font-size: 11px; color: #84745d; text-transform: uppercase; letter-spacing: .18em; font-weight: 700; margin-bottom: 15px; }
.contact-quick p { margin: 0; line-height: 1.7; font-size: 17px; }
.contact-quick a { font-size: clamp(16px, 1.7vw, 23px); letter-spacing: -.03em; }
.contact-quick a:hover { text-decoration: underline; }
.contact-content { display: grid; grid-template-columns: minmax(0,.68fr) minmax(0,1.32fr); gap: clamp(45px, 7vw, 120px); padding-top: 110px; }
.contact-copy { position: sticky; top: 112px; align-self: start; }
.contact-copy h3 { margin: 0 0 22px; font-weight: 400; letter-spacing: -.055em; line-height: 1.08; font-size: clamp(38px, 4.4vw, 64px); }
.contact-copy p { max-width: 380px; color: #59626a; line-height: 1.7; font-size: 17px; }
.contact-copy .roadside { margin-top: 52px; padding: 28px 0; border-top: 1px solid #d9d8d2; }
.contact-copy .roadside strong { display: block; margin: 13px 0 0; font-size: 24px; font-weight: 500; }
.contact-form-area { background: #f5f2ea; padding: clamp(30px, 4vw, 64px); }
.contact-form-area h3 { margin: 0 0 12px; font-size: clamp(30px, 3vw, 42px); font-weight: 400; letter-spacing: -.045em; }
.contact-form-area > p { margin: 0 0 42px; color: #65707a; line-height: 1.6; }
.contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 30px 25px; }
.contact-form label { display: block; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #46515a; }
.contact-form label.full { grid-column: 1 / -1; }
.contact-form input, .contact-form textarea, .contact-form select { width: 100%; margin-top: 10px; border: 0; border-bottom: 1px solid #cdd1d0; border-radius: 0; padding: 13px 0 15px; background: transparent; color: #1b2733; font: 16px Arial, sans-serif; outline: none; transition: border-color .2s; }
.contact-form textarea { min-height: 130px; resize: vertical; }
.contact-form input:focus, .contact-form textarea:focus, .contact-form select:focus { border-bottom: 2px solid #8d795e; }
.contact-form input::placeholder, .contact-form textarea::placeholder { color: #a6abae; }
.contact-form button { grid-column: 1 / -1; width: fit-content; border: 0; background: #192634; color: white; padding: 20px 33px; font: 700 12px Arial,sans-serif; text-transform: uppercase; letter-spacing: .13em; cursor: pointer; }
.contact-form button:hover, .contact-form button:focus-visible { background: #8d795e; }
.contact-status { grid-column: 1 / -1; margin: 0; color: #234e38; line-height: 1.5; }
.contact-form-privacy { grid-column: 1 / -1; margin: -10px 0 0; color: #59626a; font-size: 13px; line-height: 1.6; }
.contact-form-privacy a { text-decoration: underline; text-underline-offset: 3px; }
.website-field { position: absolute; left: -10000px; }
.contact-team { padding-top: 118px; }
.contact-team > h3 { margin: 0 0 62px; font-size: clamp(40px, 4.5vw, 68px); letter-spacing: -.06em; font-weight: 400; }
.contact-department { display: grid; grid-template-columns: minmax(180px,.42fr) 1fr; gap: 45px; border-top: 1px solid #d9d8d2; padding: 38px 0 55px; }
.contact-department h4 { margin: 0; font-size: 21px; font-weight: 500; letter-spacing: -.025em; }
.contact-people { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px 45px; }
.contact-person { min-width: 0; }
.contact-person h5 { margin: 0 0 5px; font-size: 20px; font-weight: 500; }
.contact-person .person-role { margin: 0 0 20px; color: #817357; text-transform: uppercase; letter-spacing: .12em; font-size: 10px; font-weight: 700; }
.contact-person p { margin: 6px 0; font-size: 14px; line-height: 1.55; overflow-wrap: anywhere; }
.contact-person .person-note { color: #65707a; margin-bottom: 17px; }
.contact-person p span { color: #78818a; display: inline-block; min-width: 57px; }
@media (max-width: 900px) { .contact-content { grid-template-columns: 1fr; gap: 35px; padding-top: 75px; } .contact-copy { position: static; } .contact-copy .roadside { margin-top: 30px; } }
@media (max-width: 650px) { .contact-section { padding-top: 112px; } .contact-hero { grid-template-columns: 1fr; gap: 26px; padding-bottom: 35px; } .contact-hero h2 { font-size: clamp(52px, 12vw, 70px); } .contact-hero p { margin: 0; } .contact-top { grid-template-columns: 1fr; margin-top: 40px; } .contact-location { min-height: 325px; } .contact-map { min-height: 315px; } .contact-quick { grid-template-columns: 1fr; gap: 28px; padding-bottom: 50px; } .contact-quick > div + div { border-left: 0; border-top: 1px solid #d9d8d2; padding: 24px 0 0; } .contact-form { grid-template-columns: 1fr; } .contact-department { grid-template-columns: 1fr; gap: 22px; } .contact-people { grid-template-columns: 1fr; } .contact-team { padding-top: 78px; } }

/* ===== 16. O spoločnosti ===== */
/* O spoločnosti — separate JavaScript view */
.about-section { background: #fff; color: #1b2733; padding: clamp(105px,9vw,140px) clamp(22px,5vw,96px) 125px; }
.about-wrap { max-width: 1500px; margin: 0 auto; }
.about-opening { display: grid; grid-template-columns: 1fr .8fr; gap: 50px; align-items: end; padding-bottom: 68px; border-bottom: 1px solid #deded8; }
.about-opening h2 { margin: 0; font-weight: 400; font-size: clamp(48px,6.3vw,95px); line-height: 1.05; letter-spacing: -.07em; }
.about-opening .about-lead { margin: 0 0 6px auto; max-width: 480px; color: #59626a; font-size: clamp(18px,1.5vw,22px); line-height: 1.6; }
.about-intro { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(35px,7vw,120px); padding: 92px 0 105px; }
.about-intro h3 { margin: 0; font-size: clamp(34px,4vw,58px); line-height: 1.12; letter-spacing: -.05em; font-weight: 400; }
.about-intro p { margin: 0 0 21px; font-size: 19px; line-height: 1.85; color: #515d66; }
.about-history { background: #f5f2ea; padding: clamp(34px,5vw,77px); }
.about-history-heading { display: flex; justify-content: space-between; align-items: end; gap: 35px; margin-bottom: 45px; }
.about-history-heading h3 { margin: 0; font-size: clamp(34px,4vw,58px); font-weight: 400; line-height: 1.12; letter-spacing: -.05em; }
.about-history-heading p { margin: 0 0 5px; max-width: 410px; color: #606a70; font-size: 16px; line-height: 1.7; }
.about-timeline { border-top: 1px solid #cfc9bb; }
.about-milestone { display: grid; grid-template-columns: minmax(115px,.34fr) minmax(170px,.55fr) 1fr; align-items: center; gap: 22px; padding: 31px 0; border-bottom: 1px solid #cfc9bb; }
.about-milestone .year { font-size: 13px; letter-spacing: .16em; font-weight: 700; color: #8d795e; }
.about-milestone h4 { margin: 0; font-size: clamp(20px,2vw,27px); letter-spacing: -.035em; font-weight: 500; }
.about-milestone p { margin: 0; color: #59626a; line-height: 1.6; }
.about-milestone.dongfeng { margin: 0 calc(-1 * clamp(16px,2vw,30px)); padding: 31px clamp(16px,2vw,30px); background: #192634; color: #fff; border-bottom: 0; }
.about-milestone.dongfeng .year { color: #d2b88e; }
.about-milestone.dongfeng p { color: #d0d6db; }
.about-services { padding: 108px 0 95px; }
.about-services > h3 { margin: 0 0 15px; font-size: clamp(36px,4vw,58px); font-weight: 400; letter-spacing: -.05em; }
.about-services > p { max-width: 600px; margin: 0 0 48px; line-height: 1.7; font-size: 17px; color: #606a70; }
.about-service-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 65px; }
.about-service { display: grid; grid-template-columns: 50px 1fr; gap: 15px; padding: 30px 0 37px; border-top: 1px solid #deded8; }
.about-service > span { color: #a48c67; font-size: 12px; letter-spacing: .1em; padding-top: 4px; }
.about-service h4 { font-size: 22px; font-weight: 500; margin: 0 0 10px; }
.about-service p { margin: 0; color: #59626a; line-height: 1.7; }
.about-end { background: #192634; color: #fff; padding: clamp(40px,5vw,80px); display: grid; grid-template-columns: 1fr .8fr; align-items: end; gap: 50px; }
.about-end h3 { margin: 0; font-size: clamp(35px,4vw,60px); line-height: 1.13; letter-spacing: -.045em; font-weight: 400; }
.about-end p { color: #d0d6db; font-size: 17px; line-height: 1.75; margin: 0 0 28px; }
.about-end a { display: inline-block; border-bottom: 1px solid #d2b88e; padding: 0 0 8px; color: #fff; font-size: 12px; letter-spacing: .15em; text-transform: uppercase; }
.about-end a:hover { color: #d2b88e; }
@media (max-width: 850px) { .about-opening, .about-intro, .about-end { grid-template-columns: 1fr; } .about-opening { gap: 24px; padding-bottom: 42px; } .about-opening .about-lead { margin: 0; } .about-intro { padding: 64px 0; gap: 25px; } .about-history-heading { display: block; } .about-history-heading p { margin-top: 20px; } }
@media (max-width: 620px) { .about-milestone { grid-template-columns: 95px 1fr; gap: 10px; } .about-milestone p { grid-column: 2; } .about-service-grid { grid-template-columns: 1fr; } .about-services { padding: 75px 0; } .about-section { padding-bottom: 75px; } }

/* ===== 17. Ochrana údajov ===== */
/* Zásady ochrany údajov */
.privacy-section { background: #fff; color: #1b2733; padding: clamp(105px,9vw,140px) clamp(22px,5vw,96px) 120px; }
.privacy-wrap { max-width: 1500px; margin: 0 auto; }
.privacy-header { display: grid; grid-template-columns: 1.15fr .65fr; gap: 45px; align-items: end; padding-bottom: 55px; border-bottom: 1px solid #deded8; }
.privacy-header h2 { margin: 0; font-size: clamp(43px,5.8vw,86px); line-height: 1.06; letter-spacing: -.065em; font-weight: 400; }
.privacy-header p { max-width: 400px; margin: 0 0 4px; font-size: 17px; line-height: 1.7; color: #59626a; }
.privacy-layout { display: grid; grid-template-columns: minmax(190px,.37fr) minmax(0,1fr); gap: clamp(38px,6vw,100px); padding-top: 72px; }
.privacy-nav { align-self: start; position: sticky; top: 112px; display: grid; gap: 18px; font-size: 13px; }
.privacy-nav span { font-size: 10px; text-transform: uppercase; letter-spacing: .23em; color: #8d795e; font-weight: 700; margin-bottom: 6px; }
.privacy-nav a { color: #53616c; }
.privacy-nav a:hover { color: #1b2733; text-decoration: underline; text-underline-offset: 4px; }
.privacy-body { max-width: 900px; }
.privacy-block { padding: 0 0 60px; margin: 0 0 60px; border-bottom: 1px solid #deded8; scroll-margin-top: 110px; }
.privacy-block:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.privacy-block h3 { margin: 0 0 26px; font-size: clamp(29px,3vw,43px); font-weight: 400; line-height: 1.15; letter-spacing: -.045em; }
.privacy-block h4 { font-size: 18px; font-weight: 600; margin: 26px 0 10px; }
.privacy-block p { margin: 0 0 20px; font-size: 16px; line-height: 1.85; color: #52606a; }
.privacy-facts { margin: 0; }
.privacy-facts > div { display: grid; grid-template-columns: .52fr 1fr; align-items: start; gap: 20px; padding: 16px 0; border-top: 1px solid #e2e1db; }
.privacy-facts dt { color: #71808b; font-size: 13px; }
.privacy-facts dd { margin: 0; overflow-wrap: anywhere; font-size: 15px; line-height: 1.5; }
.privacy-body a { color: #1b2733; text-decoration: underline; text-underline-offset: 4px; }
.privacy-rights { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 34px; }
.privacy-rights div { border-top: 1px solid #deded8; padding: 18px 0 4px; }
.privacy-rights h4 { font-size: 16px; font-weight: 600; margin: 0 0 7px; }
.privacy-rights p { font-size: 14px; line-height: 1.7; }
.privacy-download { background: #192634; color: #fff; padding: clamp(28px,4vw,55px); display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.privacy-download h3 { color: white; margin-bottom: 10px; }
.privacy-download p { color: #d0d6db; margin-bottom: 0; }
.privacy-download a { flex: 0 0 auto; display: inline-block; padding: 18px 24px; background: #f5f2ea; color: #192634; text-decoration: none; text-align: center; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.privacy-download a:hover { background: #d2b88e; }
@media (max-width: 900px) { .privacy-header, .privacy-layout { grid-template-columns: 1fr; } .privacy-layout { gap: 36px; } .privacy-nav { position: static; display: flex; flex-wrap: wrap; column-gap: 19px; } .privacy-nav span { flex-basis: 100%; } }
@media (max-width: 620px) { .privacy-facts > div { grid-template-columns: 1fr; gap: 5px; } .privacy-rights { grid-template-columns: 1fr; } .privacy-download { display: block; } .privacy-download a { margin-top: 24px; } .privacy-block { padding-bottom: 45px; margin-bottom: 45px; } }
/* ===== 18. Farby a rozloženie menu modelov ===== */
/* Farba rozbaľovacích menu závisí od zobrazeného pohľadu. */
html[data-view="home"] .submenu-models { background: rgba(246, 248, 251, .86); }
html:not([data-view="home"]) .submenu { background: #1b2c40; border-color: rgba(255,255,255,.13); box-shadow: 0 16px 34px rgba(9,19,32,.22); }
html:not([data-view="home"]) .submenu-models { color: #fff; }
html:not([data-view="home"]) .submenu-models .model-row { border-bottom-color: rgba(255,255,255,.16); }
html:not([data-view="home"]) .submenu-models .model-card { color: #fff; }
html:not([data-view="home"]) .submenu-models .model-type { color: #b7d9cb; }
html:not([data-view="home"]) .submenu-models .view-all { color: #fff; }
.submenu-models .model-row { display: grid; grid-template-columns: 175px minmax(0,1fr); align-items: start; gap: 20px; max-width: 1110px; margin: auto; padding: 16px 0; border-bottom: 1px solid rgba(25,43,65,.15); }
.submenu-models .model-row:last-child { border-bottom: 0; }
.submenu-models .model-row h3 { margin: 12px 0 0; font-size: 14px; line-height: 1.5; letter-spacing: .12em; text-transform: uppercase; }
.submenu-models .model-track { display: grid; grid-auto-flow: row; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; overflow: visible; padding: 0; }
.submenu-models .model-card { display: flex; flex-direction: column; justify-content: space-between; min-width: 0; min-height: 172px; padding: 13px 12px 8px; background: transparent; color: #172b4c; }
.submenu-models .model-card strong { display: block; min-height: 0; font-size: 15px; line-height: 1.2; letter-spacing: .025em; }
.submenu-models .model-price { display: block; margin-top: 6px; font-size: 13px; line-height: 1.35; font-weight: 600; }
.submenu-models .model-type { display: block; margin-top: 6px; color: #567268; font-size: 11px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.submenu-models .model-card img { display: block; width: 100%; height: 103px; object-fit: contain; }
@media (max-width: 1050px) { .submenu-models .model-row { grid-template-columns: 1fr; gap: 12px; } .submenu-models .model-row h3 { margin: 0; } .submenu-models .model-track { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 620px) { .submenu-models .model-track { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; } .submenu-models .model-card { min-height: 150px; padding: 10px 8px 5px; } .submenu-models .model-card img { height: 78px; } .submenu-models .model-card strong { font-size: 14px; } .submenu-models .model-price { font-size: 12px; } }
@media (max-width: 760px) { .submenu-models { position: static; width: 100%; max-height: min(58dvh,520px); padding: 12px; box-shadow: none; } }
/* ===== 19. Podstránky aktualít ===== */
/* Aktuality — samostatné stránky predaja a servisu */
.sales-news-section, .service-news-section { display: none; padding: clamp(112px,9vw,148px) clamp(22px,5vw,96px) clamp(85px,9vw,140px); background: #faf8f2; color: #172435; }
.news-page-wrap { max-width: 1380px; margin: 0 auto; }
.news-page-head { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(260px,.65fr); align-items: end; gap: 40px; padding-bottom: clamp(32px,4vw,58px); border-bottom: 1px solid #d7d7d2; }
.news-page-head .eyebrow { color: #947455; opacity: 1; font-weight: 700; }
.news-page-head h2 { margin: 18px 0 0; font-size: clamp(52px,6.6vw,102px); font-weight: 400; letter-spacing: -.065em; line-height: 1.03; }
.news-page-head p { max-width: 390px; margin: 0 0 5px; font-size: 18px; line-height: 1.65; color: #566470; }
.news-page-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin: 30px 0 35px; }
.news-page-tabs a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 20px; border: 1px solid #aab3bb; color: #172435; font-size: 13px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; transition: background .2s,color .2s; }
.news-page-tabs a[aria-current="page"], .news-page-tabs a:hover, .news-page-tabs a:focus-visible { background: #172435; border-color: #172435; color: #fff; }
.sales-news-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(0,.75fr); gap: 20px; }
.sales-news-card { min-width: 0; display: flex; flex-direction: column; background: #172435; color: #fff; overflow: hidden; }
.sales-news-card:first-child { grid-row: span 2; }
.sales-news-image { display: block; overflow: hidden; background: #dce2e6; }
.sales-news-card:first-child .sales-news-image { aspect-ratio: 1.38; }
.sales-news-card:not(:first-child) .sales-news-image { aspect-ratio: 2.2; }
.sales-news-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.sales-news-card:hover img { transform: scale(1.035); }
.sales-news-body { display: flex; flex: 1; flex-direction: column; align-items: start; padding: clamp(25px,3vw,42px); }
.sales-news-body .update-category { color: #edb08a; }
.sales-news-body h3 { margin: 14px 0; font-size: clamp(30px,3vw,48px); font-weight: 400; letter-spacing: -.05em; line-height: 1.1; }
.sales-news-card:not(:first-child) h3 { font-size: clamp(26px,2.6vw,38px); }
.sales-news-body p { max-width: 560px; margin: 0 0 20px; color: #d7e0e9; line-height: 1.65; font-size: 16px; }
.sales-news-body .news-price { margin: auto 0 0; color: #fff; font-size: 19px; font-weight: 700; }
.sales-news-body a { display: inline-flex; align-items: center; gap: 16px; margin-top: 30px; padding-bottom: 7px; border-bottom: 1px solid #d7e0e9; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.sales-news-body a:hover, .sales-news-body a:focus-visible { color: #edb08a; border-color: #edb08a; }
.service-news-preview { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.85fr); min-height: 450px; background: #172435; color: #fff; }
.service-news-preview img { display: block; width: 100%; height: 100%; min-height: 390px; object-fit: cover; }
.service-news-copy { display: flex; flex-direction: column; align-items: start; justify-content: center; padding: clamp(32px,5vw,78px); }
.service-news-copy .eyebrow { color: #edb08a; opacity: 1; }
.service-news-copy h3 { margin: 16px 0 18px; font-size: clamp(34px,4vw,60px); font-weight: 400; letter-spacing: -.05em; line-height: 1.1; }
.service-news-copy p { max-width: 470px; margin: 0 0 28px; color: #d7e0e9; font-size: 17px; line-height: 1.7; }
.service-news-copy a { display: inline-block; padding: 15px 20px; border: 1px solid #fff; font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.service-news-copy a:hover, .service-news-copy a:focus-visible { background: #fff; color: #172435; }
@media (max-width: 860px) { .news-page-head { grid-template-columns: 1fr; gap: 20px; } .sales-news-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .sales-news-card:first-child { grid-row: auto; grid-column: span 2; } .sales-news-card:first-child .sales-news-image { aspect-ratio: 1.9; } .service-news-preview { grid-template-columns: 1fr; } .service-news-preview img { min-height: 0; max-height: 430px; aspect-ratio: 1.8; } }
@media (max-width: 600px) { .sales-news-grid { grid-template-columns: 1fr; } .sales-news-card:first-child { grid-column: auto; } .sales-news-card:first-child .sales-news-image, .sales-news-card:not(:first-child) .sales-news-image { aspect-ratio: 1.55; } .news-page-tabs a { flex: 1; justify-content: center; padding-inline: 12px; } .service-news-preview img { aspect-ratio: 1.45; } }
@media (prefers-reduced-motion: reduce) { .sales-news-image img { transition: none; } }
/* ===== 20. Skladové vozidlá a skúšobná jazda ===== */
/* Skladové vozidlá a žiadosť o skúšobnú jazdu */
.stock-section { display: none; padding: clamp(108px,9vw,145px) clamp(22px,5vw,96px) clamp(80px,9vw,135px); background: #faf8f2; color: #172435; }
.stock-wrap { max-width: 1380px; margin: 0 auto; }
.stock-heading .eyebrow { color: #947455; opacity: 1; font-weight: 700; }
.stock-heading h2 { margin: 16px 0 0; font-size: clamp(52px,7vw,104px); font-weight: 400; letter-spacing: -.065em; line-height: 1.04; }
.stock-heading { padding-bottom: clamp(32px,4vw,55px); }
.stock-feature { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); min-height: 460px; background: #172435; color: #fff; }
.stock-feature-copy { display: flex; flex-direction: column; align-items: start; justify-content: center; padding: clamp(32px,5vw,72px); }
.stock-feature-copy .eyebrow { color: #edb08a; opacity: 1; }
.stock-feature-copy h3 { max-width: 490px; margin: 18px 0 18px; font-size: clamp(36px,4vw,61px); font-weight: 400; line-height: 1.1; letter-spacing: -.055em; }
.stock-feature-copy p { max-width: 490px; margin: 0; color: #d7e0e9; font-size: 17px; line-height: 1.7; }
.stock-feature-copy button { margin-top: 32px; padding: 15px 20px; border: 1px solid #fff; background: transparent; color: #fff; font: 700 12px Arial,sans-serif; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; transition: background .2s,color .2s; }
.stock-feature-copy button:hover, .stock-feature-copy button:focus-visible { background: #fff; color: #172435; }
.stock-feature-image { min-height: 460px; overflow: hidden; }
.stock-feature-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.stock-photo-note { margin: 12px 0 0; color: #68727c; font-size: 13px; line-height: 1.5; }
.stock-booking { display: grid; grid-template-columns: minmax(0,.58fr) minmax(0,1fr); gap: clamp(30px,5vw,80px); padding-top: clamp(68px,8vw,115px); scroll-margin-top: 105px; }
.stock-booking-intro .eyebrow { color: #947455; opacity: 1; }
.stock-booking-intro h3 { margin: 18px 0 22px; font-size: clamp(38px,4vw,60px); font-weight: 400; line-height: 1.1; letter-spacing: -.055em; }
.stock-booking-intro p { max-width: 390px; margin: 0; color: #566470; font-size: 17px; line-height: 1.7; }
.stock-booking-form { min-width: 0; }
.stock-booking-form .booking-fields { gap: 24px 30px; }
.stock-booking-form label { font-size: 13px; }
.stock-booking-form select { width: 100%; min-height: 49px; padding: 12px 30px 12px 0; border: 0; border-bottom: 1px solid #bfc5c5; border-radius: 0; background: transparent; color: #172435; font: 16px Arial,sans-serif; }
.stock-booking-form select:focus-visible { outline: 2px solid #9a8060; outline-offset: 3px; }
.stock-booking-form .booking-notice { margin-top: 24px; }
.stock-booking-form .booking-status { margin: 0 0 28px; }
@media (max-width: 980px) { .stock-feature { grid-template-columns: 1fr 1fr; } .stock-booking { grid-template-columns: 1fr; gap: 35px; } .stock-booking-intro p { max-width: 720px; } }
@media (max-width: 700px) { .stock-feature { grid-template-columns: 1fr; } .stock-feature-image { min-height: 0; aspect-ratio: 1.55; } .stock-booking-form .booking-fields { grid-template-columns: 1fr; } .stock-heading h2 { overflow-wrap: anywhere; } }
@media (prefers-reduced-motion: reduce) { .stock-feature-copy button { transition: none; } }

/* Inventory integration: hidden placeholders must stay hidden despite component display rules. */
#inventory-root[hidden], #inventory-placeholder[hidden], #stock-photo-note[hidden] { display: none; }

/* Cookie consent: local choice and opt-in external map. */
.cookie-banner[hidden], .map-consent-placeholder[hidden], .contact-map iframe[hidden] { display: none !important; }
.cookie-banner, .cookie-dialog { box-sizing: border-box; background: #192636; color: #fff; font-family: inherit; }
.cookie-banner { position: fixed; z-index: 2000; left: 24px; right: 24px; bottom: 24px; max-width: 1240px; margin: 0 auto; padding: 26px 30px; display: grid; grid-template-columns: 1.3fr 1fr; align-items: center; gap: 28px; border: 1px solid #526070; box-shadow: 0 15px 50px #08132340; }
.cookie-eyebrow { display: block; color: #e4c6a6; font-size: 10px; font-weight: 700; letter-spacing: .2em; }
.cookie-banner h2 { margin: 8px 0 10px; font-size: 27px; font-weight: 500; letter-spacing: -.03em; }
.cookie-banner p, .cookie-dialog p { margin: 0; color: #e0e6ec; font-size: 14px; line-height: 1.65; }
.cookie-banner a { color: #f2e6d5; text-decoration: underline; }
.cookie-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.cookie-actions button, .map-consent-placeholder button { border: 1px solid #f1eade; background: #f1eade; color: #192636; font: inherit; font-size: 12px; font-weight: 700; min-height: 44px; padding: 12px 15px; cursor: pointer; }
.cookie-actions button { flex: 1 1 130px; }
.cookie-actions button:hover { background: #fff; border-color: #fff; }
.cookie-actions button:focus-visible, .cookie-close:focus-visible, .cookie-category input:focus-visible, .map-consent-placeholder button:focus-visible { outline: 3px solid #ffaf73; outline-offset: 4px; }
.cookie-dialog { width: min(660px, calc(100% - 32px)); max-height: calc(100dvh - 48px); border: 1px solid #526070; padding: 36px; overflow-y: auto; box-shadow: 0 20px 60px #0005; }
.cookie-dialog::backdrop { background: #081323aa; }
.cookie-dialog h2 { margin: 12px 30px 16px 0; font-size: clamp(27px, 4vw, 38px); font-weight: 500; letter-spacing: -.04em; }
.cookie-close { position: absolute; right: 12px; top: 12px; width: 44px; height: 44px; color: #fff; border: 0; background: transparent; font-size: 28px; cursor: pointer; }
.cookie-category { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 0; border-top: 1px solid #526070; }
.cookie-category:first-of-type { margin-top: 24px; }
.cookie-category h3, .cookie-category strong { display: block; margin: 0 0 8px; font-size: 16px; font-weight: 600; }
.cookie-category-description { display: block; font-size: 14px; line-height: 1.65; color: #e0e6ec; }
.cookie-always { flex-shrink: 0; font-size: 11px; color: #e4c6a6; }
.cookie-category input { flex-shrink: 0; width: 24px; height: 24px; accent-color: #e4c6a6; cursor: pointer; }
.cookie-dialog .cookie-detail-note { font-size: 12px; margin-bottom: 24px; }
.map-consent-placeholder { min-height: inherit; box-sizing: border-box; padding: 50px 30px 100px; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; color: #192636; }
.map-consent-placeholder strong { font-size: 25px; font-weight: 500; }
.map-consent-placeholder p { max-width: 380px; font-size: 15px; line-height: 1.65; margin: 18px 0; }
.map-consent-placeholder button { background: #192636; color: #fff; border-color: #192636; }
@media (max-width: 900px) { .cookie-banner { grid-template-columns: 1fr; gap: 20px; } }
@media (max-width: 540px) { .cookie-banner { left: 12px; right: 12px; bottom: 12px; padding: 20px; max-height: calc(100dvh - 24px); overflow-y: auto; } .cookie-banner h2 { font-size: 24px; } .cookie-actions button { flex-basis: 100%; } .cookie-dialog { padding: 28px 22px; } .cookie-category { gap: 12px; } }

/* Sheets content retains the existing news card styles. */
#home-aktuality[hidden], #sheet-news-predaj[hidden], #sheet-news-servis[hidden], #sheet-news-empty-predaj[hidden], #sheet-news-empty-servis[hidden] { display: none !important; }
.update-content a { margin-top: 16px; color: #f1eade; font-size: 13px; font-weight: 700; text-underline-offset: 5px; }
.sheet-news-empty { padding: 40px 0; color: #596a7b; line-height: 1.7; }
.updates-buttons button:disabled { opacity: .4; cursor: default; }

/* Four announcements: balanced two-by-two overview, warranty stays first. */
.sales-news-grid.news-four { grid-template-columns: repeat(2,minmax(0,1fr)); }
.sales-news-grid.news-four .sales-news-card:first-child { grid-row: auto; grid-column: auto; }
.sales-news-grid.news-four .sales-news-image { aspect-ratio: 1.65; }
.sales-news-grid.news-four h3 { font-size: clamp(28px,3vw,42px); }
@media (max-width: 600px) { .sales-news-grid.news-four { grid-template-columns: 1fr; } .sales-news-grid.news-four .sales-news-image { aspect-ratio: 1.55; } }

/* A single news item fills the page with its photo and blue text panel. */
.sales-news-grid.news-single { grid-template-columns: minmax(0,1fr); }
.sales-news-grid.news-single .sales-news-card { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); grid-column: auto; grid-row: auto; }
.sales-news-grid.news-single .sales-news-image { aspect-ratio: auto; min-height: 380px; }
.sales-news-grid.news-single .sales-news-body { display: flex; flex-direction: column; justify-content: center; }
@media (max-width: 760px) {
  .sales-news-grid.news-single .sales-news-card { grid-template-columns: 1fr; }
  .sales-news-grid.news-single .sales-news-image { min-height: 0; aspect-ratio: 1.55; }
}

/* Original black Dongfeng artwork displayed white on dark header/footer. */
.brand img, .footer-logo { filter: brightness(0) invert(1); }

