/* Doplnkové pravidlá pre telefóny a menšie zariadenia.
   Tento súbor musí byť načítaný po site.css. */

/* Menšie obrazovky: čitateľné nadpisy, ovládanie a rozloženie bez vodorovného posuvu. */
img, video, iframe { max-width: 100%; }
.site-footer a, .contact-quick a, .contact-person a { overflow-wrap: anywhere; }
@media (max-width: 760px) {
  .site-header { padding-inline: 20px; }
  .brand img { width: clamp(155px, 43vw, 205px); }
  .menu-toggle { display: grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0; line-height: 1; }
  .nav { background: rgba(12,25,43,.98); padding: 12px 20px 30px; box-shadow: 0 18px 30px rgba(0,0,0,.23); overscroll-behavior: contain; }
  .nav > a, .nav-trigger { min-height: 48px; padding-block: 14px; }
  .nav-trigger { justify-content: space-between; }
  .nav-trigger::before { content: '+'; order: 2; margin-left: 20px; font-size: 20px; font-weight: 400; line-height: 1; }
  .nav-trigger[aria-expanded="true"]::before { content: '−'; }
  .submenu-models, html:not([data-view="home"]) .submenu-models { background: #f6f8fb; color: #172b4c; }
  html:not([data-view="home"]) .submenu-models .model-card { color: #172b4c; }
  html:not([data-view="home"]) .submenu-models .view-all { color: #172b4c; }
  .submenu-models .model-row { display: block; }
  .submenu-models .model-row h3 { margin: 0 0 12px; }
  .submenu-models .model-track { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hero { min-height: 720px; min-height: 100svh; padding-inline: 6vw; }
  .hero::after { background: linear-gradient(90deg, rgba(5,14,26,.76), rgba(5,14,26,.26)), linear-gradient(0deg, rgba(5,14,26,.65), transparent 60%); }
  .hero-media { object-position: 58% center; }
  .service-section, .booking-section, .models-section, .model-detail-section,
  .stock-section, .sales-news-section, .service-news-section, .contact-section,
  .about-section, .privacy-section { padding-top: 106px; padding-bottom: 74px; }
  .service-intro, .models-header, .contact-hero, .about-opening, .privacy-header { padding-bottom: 32px; }
  .service-intro h2, .booking-heading h2, .models-header h2, .contact-hero h2,
  .about-opening h2, .privacy-header h2, .news-page-head h2, .stock-heading h2 { font-size: clamp(38px, 9vw, 64px); line-height: 1.06; letter-spacing: -.055em; }
  .model-detail-intro h2 { font-size: clamp(48px, 11vw, 76px); line-height: 1; overflow-wrap: anywhere; }
  .service-photo { margin-block: 36px 48px; }
  .booking-heading p, .service-intro p, .news-page-head p { font-size: 17px; }
  .models-category { padding-top: 38px; }
  .models-category + .models-category { margin-top: 38px; }
  .models-section .home-model { min-height: 330px; padding: 21px 17px; }
  .models-section .home-model img { height: 160px; }
  .contact-top { min-height: 0; }
  .contact-map { min-height: 320px; }
  .contact-team { padding-top: 70px; }
  .about-milestone { grid-template-columns: 1fr; gap: 8px; }
  .about-end { gap: 20px; }
  .privacy-layout { padding-top: 42px; }
  .stock-feature { min-height: 0; }
}
@media (max-width: 600px) {
  .hero { align-items: end; padding: 120px 22px 80px; }
  .hero h1 { font-size: clamp(40px, 11vw, 58px); }
  .brand-story, .home-models, .home-updates, .home-service { padding: 60px 22px; }
  .brand-story-inner { gap: 25px; }
  .brand-story img { aspect-ratio: 1.35; }
  .home-models h2, .updates-heading h2 { font-size: clamp(36px, 9vw, 48px); }
  .home-models-all { width: 100%; max-width: 360px; margin-top: 38px; justify-content: space-between; }
  .home-model-carousel-controls { margin-top: 15px; }
  .update-slide { flex-basis: 100%; }
  .update-image { height: auto; aspect-ratio: 1.35; }
  .update-content { min-height: 225px; padding: 24px; }
  .home-service-card { padding: 34px 26px 28px; }
  .home-service-card h2 { font-size: clamp(34px, 9vw, 48px); }
  .home-service-card p { font-size: 16px; }
  .home-service-media { margin-top: 0; aspect-ratio: 1.35; }
  .models-section .home-model-grid { grid-template-columns: 1fr; gap: 15px; }
  .models-section .home-model { min-height: 0; }
  .models-section .home-model img { height: clamp(155px, 52vw, 215px); }
  .model-detail-photo { aspect-ratio: 1.35; }
  .model-detail-facts { gap: 20px 14px; }
  .model-detail-facts dd { font-size: 20px; }
  .service-cta, .model-detail-cta { padding: 27px 23px; }
  .service-cta a, .model-detail-cta .model-detail-button, .model-detail-bottom .model-detail-button { width: 100%; justify-content: space-between; }
  .booking-form, .contact-form-area { padding: 26px 22px; }
  .booking-checks label { min-height: 36px; }
  .booking-checks input { width: 20px; height: 20px; }
  .stock-feature-copy, .service-news-copy { padding: 30px 24px; }
  .stock-feature-copy h3 { font-size: clamp(34px, 9vw, 47px); }
  .news-page-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .contact-quick a { font-size: 17px; }
  .contact-content { padding-top: 65px; }
  .contact-copy h3, .contact-team > h3 { font-size: clamp(35px, 9vw, 48px); }
  .about-history { padding: 28px 23px; }
  .about-services { padding: 75px 0 65px; }
  .about-service-grid { grid-template-columns: 1fr; }
  .privacy-nav { gap: 12px 18px; }
}
@media (max-width: 380px) {
  .site-header { padding-inline: 16px; }
  .brand img { width: 155px; }
  .submenu-models { padding: 10px; }
  .submenu-models .model-track { gap: 6px; }
  .submenu-models .model-card { padding: 9px 6px; }
  .eyebrow, .contact-kicker { letter-spacing: .16em; }
  .model-detail-facts { grid-template-columns: 1fr; }
  .footer-bottom span { display: none; }
}

/* Model labels and prices remain readable with long hybrid names. */
.home-model-top { flex-wrap: wrap; }
.home-model-top h3, .model-detail-intro > div { min-width: 0; }
.home-price, .model-price, .update-price, .news-price { overflow-wrap: break-word; }
@media (max-width: 760px) {
  .home-model-top { align-items: flex-start; gap: 8px 12px; }
  .home-model-top .drive { flex-basis: 100%; line-height: 1.4; }
  .submenu-models .model-type { line-height: 1.4; }
  .model-detail-video { height: auto; aspect-ratio: 16 / 9; object-fit: contain; max-height: none; }
  .model-detail-intro h2 { overflow-wrap: normal; }
  .model-detail-facts dd { overflow-wrap: break-word; }
  .model-detail-button { min-width: 0; max-width: 100%; gap: 16px; line-height: 1.5; }
  .model-detail-button > span { flex-shrink: 0; }
  .booking-fields > label, .stock-booking-form, .contact-form > label { min-width: 0; }
  .booking-fields input, .booking-fields select, .booking-fields textarea { min-width: 0; width: 100%; font-size: 16px; }
}
@media (max-width: 380px) {
  .submenu-models .model-track { grid-template-columns: 1fr; }
  .submenu-models .model-card { min-height: 145px; }
  .submenu-models .model-card img { height: 90px; }
}

/* Long service addresses and form controls on small screens. */
.contact-person p > a { min-width: 0; }
@media (max-width: 760px) {
  .contact-form input, .contact-form select, .contact-form textarea { font-size: 16px; min-width: 0; max-width: 100%; }
  .booking-options { min-width: 0; }
  .booking-submit, .contact-form button { min-height: 48px; white-space: normal; line-height: 1.5; }
}
.booking-submit:disabled, .contact-form button:disabled { opacity: .65; cursor: wait; }
