.site-header .nav-wrap { display: grid; grid-template-columns: 160px minmax(120px,1fr) auto; gap: 12px 28px; height: auto; padding: 12px 0; }
.site-header .brand { grid-column: 1; grid-row: 1; }
.site-header .rental-header-search { grid-column: 2; grid-row: 1; width: 100%; max-width: 460px; justify-self: center; }
.site-header .auth-actions { grid-column: 3; grid-row: 1; flex-wrap: nowrap; }
.site-header .rental-site-menu { position: relative; flex: 0 0 auto; }
.site-header .rental-site-menu-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 42px; width: auto; padding: 10px 13px; margin: 0; border: 1px solid #e7ecf3; border-radius: 12px; background: #fff; color: #263a51; font: inherit; font-size: 13px; font-weight: 500; cursor: pointer; }
.site-header .rental-site-menu-toggle svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.site-header .rental-site-menu-toggle .rental-menu-chevron { width: 14px; height: 14px; transition: transform .15s; }
.site-header .rental-site-menu-toggle[aria-expanded="true"] { border-color: #c4aa79; background: #f8f2e7; color: #78571f; }
.site-header .rental-site-menu-toggle[aria-expanded="true"] .rental-menu-chevron { transform: rotate(180deg); }
.site-header .rental-site-menu .nav-links { position: absolute; top: calc(100% + 10px); right: 0; z-index: 70; display: none; grid-template-columns: minmax(0,1fr); justify-content: stretch; align-items: stretch; gap: 3px; width: 262px; max-width: calc(100vw - 32px); max-height: calc(100dvh - 150px); overflow-y: auto; margin: 0; padding: 8px; border: 1px solid #e4e7e9; border-radius: 16px; background: #fff; box-shadow: 0 16px 44px #07111f1a; }
.site-header.rental-site-nav-open .rental-site-menu .nav-links { display: grid; }
.site-header .rental-site-menu .nav-links[hidden] { display: none; }
.site-header .rental-site-menu .nav-links a { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 44px; padding: 11px 13px; border-radius: 9px; color: #263a51; font-size: 14px; text-align: left; text-decoration: none; white-space: normal; }
.site-header .rental-site-menu .nav-links a::after { content: "→"; color: #a18a60; font-size: 15px; }
.site-header .rental-site-menu .nav-links a:hover { background: #f7f5f0; color: #78571f; }
.site-header .nav-links a[aria-current="page"] { color: #78571f; background: #f5ecd9; font-weight: 550; }
.site-header .nav-links a:focus-visible, .site-header .rental-site-menu-toggle:focus-visible, .public-page-breadcrumb a:focus-visible { outline: 2px solid #b38b45; outline-offset: 3px; }
body.public-section-page-mode:not(.admin-mode):not(.client-mode) main > section:not(.public-section-current):not(#public-section-hero) { display: none !important; }
body.public-section-page-mode .public-section-current { min-height: 44vh; }
.public-section-hero { padding: 28px 0 46px; border-bottom: 1px solid #ece7dd; background: radial-gradient(ellipse at 95% 0,#eee1c875,transparent 65%),#fffcf7; }
.public-page-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 36px; color: #718094; font-size: 12px; }
.public-page-breadcrumb a { color: #775722; text-decoration: none; }
.public-page-breadcrumb a:hover { text-decoration: underline; }
.public-section-hero h1 { max-width: 820px; margin: 12px 0 18px; font-size: clamp(34px,4vw,54px); font-weight: 600; line-height: 1.12; letter-spacing: -.045em; }
.public-page-description { max-width: 710px; margin: 0; color: #617084; font-size: 16px; line-height: 1.75; }
.public-section-hero .eyebrow { margin: 0; }
.public-page-hero-grid { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(0,1fr); gap: 52px; align-items: center; }
.public-page-hero-grid > div, .public-page-hero-grid > aside { min-width: 0; }
.public-page-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 26px; }
.public-page-actions .btn { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 46px; padding: 12px 18px; font-size: 14px; text-decoration: none; }
.public-page-actions .btn:focus-visible, .public-panel-links a:focus-visible, .public-contact-topics button:focus-visible { outline: 3px solid #b38b45; outline-offset: 4px; }
.public-hero-panel { padding: 26px; border: 1px solid #e5dfd2; border-radius: 20px; background: linear-gradient(145deg,#fff,#f2eddf); box-shadow: 0 14px 32px #0b203805; }
.public-panel-kicker { display: block; color: #82622f; font-size: 12px; font-weight: 500; margin-bottom: 20px; }
.public-hero-panel > strong { display: block; color: #0b2038; font-size: 24px; font-weight: 550; line-height: 1.35; letter-spacing: -.025em; }
.public-hero-panel > p { margin: 16px 0 0; color: #617084; font-size: 13px; line-height: 1.7; }
.public-hero-car { padding: 0 0 12px; }
.public-hero-car svg { display: block; width: 100%; height: auto; max-height: 130px; }
.public-hero-feature { display: flex; align-items: center; gap: 16px; color: #0b2038; }
.public-hero-feature > svg { width: 46px; height: 46px; flex: 0 0 46px; color: #a47e3d; }
.public-hero-feature > strong { font-size: 21px; line-height: 1.4; font-weight: 550; }
.public-tick-list { display: grid; gap: 12px; padding: 0; margin: 22px 0 0; list-style: none; color: #516074; font-size: 13px; }
.public-tick-list li::before { content: "✓"; color: #96713a; margin-right: 10px; }
.public-term-visual { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.public-term-visual > span { display: grid; align-content: start; gap: 10px; padding: 16px 12px; border: 1px solid #e4ddce; border-radius: 12px; background: #ffffffb3; }
.public-term-visual svg { width: 24px; height: 24px; color: #9e793b; }
.public-term-visual strong { color: #0b2038; font-size: 30px; font-weight: 550; letter-spacing: -.04em; }
.public-term-visual small { display: block; margin-top: 2px; font-size: 12px; color: #657287; font-weight: 400; letter-spacing: 0; }
.public-term-visual b { color: #514633; font-size: 12px; font-weight: 500; }
.public-hero-road { display: grid; gap: 20px; list-style: none; padding: 0; margin: 0; }
.public-hero-road li { position: relative; display: flex; align-items: center; gap: 14px; }
.public-hero-road li + li::before { content: ""; position: absolute; left: 18px; bottom: calc(100% + 4px); height: 12px; width: 1px; background: #c8b48e; }
.public-hero-road li > span { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #dfd2b9; background: #fff; border-radius: 50%; color: #87632b; font-size: 12px; }
.public-hero-road strong { color: #172a41; font-size: 15px; font-weight: 500; }
.public-hero-panel > .public-answer-count { font-size: 64px; line-height: 1; letter-spacing: -.055em; }
.public-answer-count small { display: block; color: #657287; font-size: 14px; line-height: 1.5; font-weight: 400; letter-spacing: 0; margin-top: 10px; }
.public-topic-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.public-topic-tags span { padding: 7px 10px; border: 1px solid #e2d8c5; border-radius: 8px; background: #fff; color: #6a5737; font-size: 11px; }
.public-contact-topics { display: grid; gap: 10px; }
.public-contact-topics button { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 12px; background: #ffffffd9; border: 1px solid #e4ddce; border-radius: 12px; color: #132740; text-align: left; cursor: pointer; }
.public-contact-topics button:hover { border-color: #b38b45; }
.public-contact-topics button[aria-pressed="true"] { border-color: #b38b45; background: #f6ecd8; }
.public-contact-topics strong { flex: 1; font-size: 14px; font-weight: 500; }
.public-contact-topics .public-card-icon { width: 34px; height: 34px; flex-basis: 34px; }
body.public-section-page-mode:not(.admin-mode):not(.client-mode) .public-page-extras.section { padding: 0 0 64px; min-height: 0; }
.public-deep-section { padding: 48px 0 64px; border-top: 1px solid #e9e5dd; }
.public-detail-heading { max-width: 720px; margin-bottom: 28px; }
.public-detail-heading .eyebrow { margin: 0 0 10px; }
.public-detail-heading h2 { margin: 0; }
.public-detail-heading > p:not(.eyebrow) { margin: 16px 0 0; color: #617084; font-size: 15px; line-height: 1.8; }
.public-info-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.public-info-card { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: 26px; border: 1px solid #e6e6e1; border-radius: 16px; background: #fff; }
.public-card-icon { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; border-radius: 12px; background: #f7f0e2; color: #94713b; }
.public-card-icon > svg { width: 22px; height: 22px; }
.public-info-card h3 { margin: 22px 0 10px; font-size: 20px; font-weight: 550; line-height: 1.35; }
.public-info-card p { margin: 0 0 18px; color: #617084; font-size: 14px; line-height: 1.8; }
.public-info-card .rental-text-link { margin-top: auto; font-size: 13px; }
.public-deep-section > .rental-text-link { margin-top: 24px; }
.public-panel-showcase { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 48px; align-items: center; }
.public-panel-links { display: grid; gap: 12px; }
.public-panel-links > a { display: flex; align-items: center; gap: 14px; padding: 18px; border: 1px solid #e2e6e9; border-radius: 14px; background: #fff; text-decoration: none; }
.public-panel-links > a:hover { border-color: #c0a16b; }
.public-panel-links > a > span:nth-child(2) { flex: 1; min-width: 0; }
.public-panel-links strong, .public-panel-links small { display: block; }
.public-panel-links strong { color: #132740; font-size: 15px; font-weight: 500; }
.public-panel-links small { color: #627185; font-size: 12px; line-height: 1.6; margin-top: 4px; }
.public-panel-links a > span:last-child { color: #92703a; }
.public-conversion-panel { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 32px; align-items: center; padding: 40px; border-radius: 20px; background: radial-gradient(ellipse at 100% 0,#1e3b58,transparent 65%),#0b2038; }
body.public-section-page-mode:not(.admin-mode):not(.client-mode) .public-conversion-panel h2 { max-width: 640px; color: #fff; font-size: clamp(25px,2.6vw,34px); }
body.public-section-page-mode:not(.admin-mode):not(.client-mode) .public-conversion-panel .eyebrow { color: #dec28d; }
.public-conversion-panel p:not(.eyebrow) { max-width: 580px; margin: 14px 0 0; color: #c1cdd9; font-size: 14px; line-height: 1.75; }
.public-conversion-panel .public-page-actions { flex-direction: column; align-items: stretch; margin: 0; }
.public-conversion-panel .btn-outline-dark { border-color: #a5b2bf75; background: transparent; color: #fff; }
.public-conversion-panel .btn-outline-dark:hover { background: #ffffff10; }
.public-comparison-wrap { overflow-x: auto; border: 1px solid #e3e5e4; border-radius: 16px; background: #fff; }
.public-comparison-table { width: 100%; min-width: 590px; border-collapse: collapse; table-layout: fixed; color: #24364d; font-size: 14px; }
.public-comparison-table caption { padding: 18px 22px; text-align: left; color: #617084; font-size: 12px; }
.public-comparison-table th, .public-comparison-table td { padding: 18px 22px; border-top: 1px solid #e8ebec; text-align: left; vertical-align: top; line-height: 1.7; overflow-wrap: anywhere; }
.public-comparison-table thead th { color: #0b2038; background: #f4f1e9; font-weight: 550; }
.public-comparison-table tbody th { font-weight: 500; }
.public-footnote { color: #617084; font-size: 12px; line-height: 1.75; }
.public-plan-selector { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 26px; padding: 22px; border: 1px solid #e4dccb; border-radius: 14px; background: #f6f1e6; }
.public-plan-selector > div:first-child { flex: 1; min-width: 220px; }
.public-plan-selector h3 { font-size: 17px; margin: 0 0 7px; }
.public-plan-selector p { margin: 0; font-size: 12px; line-height: 1.7; color: #617084; }
.public-plan-selector > .btn { font-size: 13px; text-decoration: none; }
.public-choice-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.public-choice-buttons button { border: 1px solid #dedfdc; border-radius: 10px; padding: 10px 14px; background: #fff; color: #4b5c70; font: inherit; font-size: 13px; line-height: 1.5; cursor: pointer; }
.public-choice-buttons button[aria-pressed="true"] { color: #fff; border-color: #0b2038; background: #0b2038; }
.public-choice-buttons button:focus-visible, .public-comparison-wrap:focus-visible, .public-faq-controls input:focus-visible { outline: 3px solid #b38b45; outline-offset: 3px; }
.public-preparation { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 48px; align-items: start; }
.public-checklist-count { display: inline-flex; margin: 0; padding: 10px 14px; border: 1px solid #dfd3bb; border-radius: 10px; background: #f7efdf; color: #775622; font-size: 14px; }
.public-preparation-list { display: grid; gap: 12px; }
.public-preparation-list label { display: flex; align-items: flex-start; gap: 14px; padding: 20px; border: 1px solid #e3e5e3; border-radius: 12px; background: #fff; cursor: pointer; }
.public-preparation-list label:has(input:checked) { border-color: #c8af81; background: #faf5eb; }
.public-preparation-list input { width: 18px; height: 18px; flex: 0 0 18px; margin: 3px 0 0; accent-color: #987239; }
.public-preparation-list strong { display: block; color: #182c43; font-weight: 500; font-size: 15px; }
.public-preparation-list small { display: block; margin-top: 6px; color: #617084; font-size: 13px; line-height: 1.7; }
body[data-public-page="faq"] #faq .container { display: block; }
body[data-public-page="faq"] #faq .faq-list { display: none; }
body[data-public-page="faq"] #faq .section-head { margin-bottom: 28px; }
.public-faq-controls { display: grid; gap: 18px; }
.public-faq-controls label { display: grid; gap: 10px; max-width: 600px; font-size: 14px; color: #263a51; }
.public-faq-controls input { display: block; width: 100%; min-width: 0; height: 50px; padding: 12px 16px; border: 1px solid #d8dee3; border-radius: 12px; background: #fff; color: #172a41; font: inherit; }
.public-faq-list { display: grid; gap: 12px; }
.public-faq-list details { border: 1px solid #e3e7e9; border-radius: 14px; background: #fff; padding: 0 22px; }
.public-faq-list summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 20px 0; list-style: none; color: #172a41; cursor: pointer; }
.public-faq-list summary::-webkit-details-marker { display: none; }
.public-faq-list summary::after { content: "+"; flex: 0 0 22px; font-size: 23px; color: #9a783e; font-weight: 400; }
.public-faq-list details[open] summary::after { content: "−"; }
.public-faq-list details[open] summary { border-bottom: 1px solid #ecebe6; }
.public-faq-list details p { margin: 18px 0 22px; max-width: 950px; color: #52647a; line-height: 1.9; }
.public-faq-empty { display: grid; justify-items: start; gap: 14px; padding: 30px; border: 1px dashed #d8c8a9; border-radius: 14px; background: #fcf8f0; }
.public-faq-empty h3, .public-faq-empty p { margin: 0; }
.public-faq-empty p { color: #617084; }
.public-faq-help { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 24px; }
.public-faq-help .public-detail-heading { max-width: 620px; margin-bottom: 0; }
.public-contact-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; padding-bottom: 22px; margin-bottom: 6px; border-bottom: 1px solid #e9e7e1; }
.public-form-heading h3 { margin: 8px 0; font-size: 23px; }
.public-form-heading p:not(.eyebrow) { margin: 0; color: #617084; font-size: 13px; line-height: 1.7; }
.public-contact-fields select { width: 100%; min-width: 0; height: 44px; padding: 9px 11px; border: 1px solid #e7ecf3; border-radius: 9px; background: #fff; color: #172a41; font: inherit; font-size: 13px; }
.public-contact-fields input { min-width: 0; }
.public-contact-fields :is(select,input):focus-visible { outline: 2px solid #b38b45; outline-offset: 3px; }
.public-contact-service-hint { margin: 0; padding: 12px; background: #f8f2e6; color: #6e552d; font-size: 12px; line-height: 1.7; border-radius: 9px; }
.public-contact-service-hint a { color: #76521d; }
body[data-public-page="kontakt"] .contact-list { display: none; }
.public-contact-channels { display: grid; gap: 12px; margin-top: 26px; }
.public-contact-channels > a { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 4px 14px; padding: 18px 20px; border: 1px solid #dfd8ca; border-radius: 12px; background: #ffffffb3; text-decoration: none; }
.public-contact-channels small { color: #6b7888; font-size: 12px; }
.public-contact-channels strong { grid-column: 1; color: #152d46; font-size: 17px; font-weight: 500; overflow-wrap: anywhere; }
.public-contact-channels span { grid-column: 2; grid-row: 1 / 3; align-self: center; color: #93733c; }
.public-contact-channels > p { color: #69788a; font-size: 12px; line-height: 1.8; }
.public-service-note { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; padding: 26px; margin: 0 0 48px; border: 1px solid #e2dfd6; border-radius: 16px; background: #f7f2e8; }
.public-service-note > div { flex: 1; min-width: 240px; }
.public-service-note h3 { margin: 0 0 8px; font-size: 20px; }
.public-service-note p { margin: 0; color: #617084; font-size: 13px; line-height: 1.8; }
.public-service-note .btn { font-size: 13px; text-decoration: none; }
.public-section-page-mode :is(#lead-form,#public-comparison,#public-preparation,#public-faq-search) { scroll-margin-top: 150px; }
@media (max-width: 1000px) {
  .public-page-hero-grid { gap: 30px; grid-template-columns: minmax(0,1.35fr) minmax(0,1fr); }
  .public-info-grid { gap: 14px; }
  .public-info-card { padding: 20px; }
  .public-panel-showcase, .public-preparation { gap: 30px; }
  .public-conversion-panel { grid-template-columns: minmax(0,1fr); }
  .public-conversion-panel .public-page-actions { flex-direction: row; }
}
@media (max-width: 850px) {
  .public-page-hero-grid { grid-template-columns: minmax(0,1fr); }
  .public-hero-panel { display: none; }
  .public-info-grid { grid-template-columns: minmax(0,1fr); }
  .public-info-card { padding: 24px; }
  .public-info-card h3 { margin-top: 18px; }
  .public-panel-showcase, .public-preparation { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 600px) {
  .public-deep-section { padding: 34px 0 40px; }
  .public-page-actions { gap: 10px; margin-top: 22px; }
  .public-page-actions .btn { padding: 11px 14px; gap: 12px; font-size: 13px; }
  .public-detail-heading > p:not(.eyebrow) { font-size: 14px; }
  .public-conversion-panel { padding: 26px 22px; border-radius: 16px; }
  .public-conversion-panel .public-page-actions { flex-direction: column; }
  .public-plan-selector { padding: 18px; }
  .public-plan-selector > div:first-child { min-width: 0; flex-basis: 100%; }
  .public-faq-controls .public-choice-buttons { gap: 6px; }
  .public-choice-buttons button { padding: 9px 11px; font-size: 12px; }
  .public-faq-list details { padding: 0 16px; }
  .public-faq-list summary { font-size: 14px; gap: 12px; }
  .public-faq-empty { padding: 22px; }
  .public-contact-fields { grid-template-columns: minmax(0,1fr); }
  .public-service-note { padding: 22px; }
  .public-service-note > div { min-width: 0; flex-basis: calc(100% - 70px); }
  .public-service-note .btn { width: 100%; text-align: center; }
}
@media (min-width: 1051px) {
  body:not(.admin-mode):not(.client-mode) main > section[id] { scroll-margin-top: 100px; }
}
@media (max-width: 1050px) {
  .site-header .rental-header-search { width: auto; max-width: none; }
  .public-section-hero { padding: 24px 0 36px; }
}
@media (max-width: 600px) {
  .site-header .nav-wrap { display: flex; gap: 10px; padding: 10px 0; }
  .site-header .brand { flex: 0 1 130px; min-width: 0; }
  .site-header .brand-logo-header { width: 100%; max-width: 130px; }
  .site-header .rental-header-search { width: 100%; }
  .site-header .rental-site-menu { position: static; }
  .site-header .rental-site-menu .nav-links { top: calc(100% + 8px); right: 16px; }
  .site-header .rental-site-menu-toggle { width: 40px; min-height: 40px; padding: 0; gap: 0; }
  .site-header .rental-site-menu-toggle :is(span,.rental-menu-chevron) { display: none; }
  .public-page-breadcrumb { margin-bottom: 26px; }
  .public-page-description { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-header .rental-site-menu-toggle .rental-menu-chevron { transition: none; }
}
