.im-av { --av-border: #b9c3c7; }
.im-av-public { padding: clamp(20px, 4vw, 60px); background: #f3f5f5; color: #172a31; }
.im-av .im-av-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 20px 0; }
.im-av label { display: block; margin: 10px 0; }
.im-av input:not([type=checkbox]):not([type=hidden]), .im-av select, .im-av textarea { display: block; box-sizing: border-box; width: 100%; padding: 12px; margin-top: 6px; border: 1px solid var(--av-border); border-radius: 3px; background: #fff; color: #172a31; font: inherit; }
.im-av input[type=checkbox] { width: auto; margin-right: 8px; }
.im-av-public button { padding: 14px 22px; border: 0; background: #17343d; color: #fff; cursor: pointer; font: inherit; }
.im-av :is(input,select,textarea,button,a):focus-visible { outline: 3px solid #007cba; outline-offset: 3px; }
.im-av-quote, .im-av-notice { padding: 16px; border-left: 4px solid #007cba; background: #fff; }
.im-av .im-av-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.im-av-panel { margin: 12px 0; padding: 18px; background: #fff; border: 1px solid var(--av-border); }
.im-av-panel summary { cursor: pointer; font-weight: 600; }
.im-av-scroll { overflow-x: auto; margin: 20px 0; }
.im-av td { vertical-align: top; }
.im-av td form { margin-top: 10px; }
@media (max-width: 700px) { .im-av .im-av-grid { grid-template-columns: minmax(0, 1fr); } }
.av-calendar .av-calendar-nav { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:24px 0; }
.av-calendar-nav strong { font-size:1.4rem; }
.av-calendar-nav a { padding:10px 16px; border:1px solid #b9c9c7; border-radius:6px; color:#174b46; text-decoration:none; background:#fff; }
.av-calendar .av-calendar-legend { display:flex; flex-wrap:wrap; gap:20px; list-style:none; padding:0; margin:20px 0; }
.av-calendar-legend li { display:flex; align-items:center; gap:8px; }
.av-calendar-legend i { display:inline-block; width:20px; height:20px; border:1px solid #a5b8ad; border-radius:4px; }
.av-calendar-fleet { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.av-calendar-vehicle { min-width:0; padding:24px; border:1px solid #d3dfdc; background:#fff; border-radius:12px; }
.av-calendar-vehicle h3 { margin:0 0 20px; font-size:1.2rem; }
.av-calendar .av-month { table-layout:fixed; width:100%; border-collapse:separate; border-spacing:5px; margin:0; }
.av-calendar .av-month th { text-align:center; font-size:12px; color:#52695e; padding:6px 0; border:0; background:none; }
.av-calendar .av-month td { text-align:center; padding:12px 0; border:0; border-radius:5px; font-size:14px; color:#183b2c; font-variant-numeric:tabular-nums; }
.av-calendar .av-day-free { background:#e0f1e7; }
.av-calendar .av-day-partial { background:repeating-linear-gradient(135deg,#fce5ac,#fce5ac 6px,#fff4d6 6px,#fff4d6 12px); }
.av-calendar .av-day-busy { background:#efc3be; }
.av-calendar .av-month .av-day-empty { background:transparent; }
.av-calendar .av-month .av-day-past { opacity:.5; }
.av-calendar .av-month .av-day-today { outline:2px solid #174b46; outline-offset:1px; font-weight:700; }
.av-calendar-times { margin-top:18px; font-size:13px; }
.av-calendar-times summary { cursor:pointer; color:#174b46; }
.av-calendar-times ul { padding-left:20px; }
.av-calendar-note { margin-top:24px; font-size:14px; }
@media (max-width:800px) { .av-calendar-fleet { grid-template-columns:minmax(0,1fr); } .av-calendar-vehicle { padding:16px; } .av-calendar .av-month { border-spacing:3px; } .av-calendar-nav strong { font-size:1.05rem; } .av-calendar-nav a { padding:8px; font-size:13px; } }
.av-calendar-fleet { grid-template-columns:minmax(0,1fr); }
.av-calendar [hidden] { display:none !important; }
/* Einbindung in das 12-Spalten-Raster des Vermietungs-Themes. */
.vermietung .vermietung__raster { align-items:start; }
.vermietung .spalte-5,.vermietung .spalte-7 { min-width:0; }
.vermietung .im-av-public { padding:clamp(20px,2.5vw,36px); background:var(--frost,#eef2f4); color:var(--text,#171b1e); border:1px solid var(--linie,#d3dcdf); border-radius:0; }
.vermietung.auf-frost .im-av-public { background:var(--weiss,#fff); }
.vermietung .im-av-public h2 { font-family:var(--schrift-titel,sans-serif); font-size:clamp(26px,2.4vw,36px); font-weight:600; line-height:1.1; text-transform:uppercase; margin:0 0 14px; }
.vermietung .im-av-public h3 { font-family:var(--schrift-titel,sans-serif); font-size:26px; text-transform:uppercase; }
.vermietung .im-av-public p,.vermietung .im-av-public label { font-size:14px; line-height:1.65; }
.vermietung .im-av-public label { font-weight:500; }
.vermietung .im-av input:not([type=checkbox]):not([type=hidden]),.vermietung .im-av select,.vermietung .im-av textarea { border-radius:0; border-color:#b6c2c8; padding:12px; min-height:48px; font-weight:400; }
.vermietung .im-av-public button[type=submit] { background:var(--rot,#e30613); font-family:var(--schrift-titel,sans-serif); font-size:21px; font-weight:600; text-transform:uppercase; letter-spacing:.03em; width:100%; margin-top:16px; }
.vermietung .im-av-public button[type=submit]:hover { background:var(--rot-tief,#b1040f); }
.vermietung .im-av :is(input,select,textarea,button,a):focus-visible { outline-color:var(--rot,#e30613); }
.vermietung .im-av-grid { gap:12px 20px; margin-top:0; }
.vermietung .im-av-quote,.vermietung .im-av-notice { border-left-color:var(--rot,#e30613); }
.vermietung .im-av-consent { font-weight:400; }
.vermietung .av-calendar-nav { gap:8px; margin:20px 0; }
.vermietung .av-calendar-nav strong { font-family:var(--schrift-titel,sans-serif); font-size:24px; }
.vermietung .av-calendar-nav a { color:var(--text,#171b1e); border-radius:0; font-size:13px; padding:8px 10px; }
.vermietung .av-calendar-vehicle { border-radius:0; padding:14px; }
.vermietung .av-calendar-legend { gap:10px 16px; font-size:12px; }
.vermietung .av-calendar-times summary { color:var(--text,#171b1e); }
.vermietung .av-month td { font-family:var(--schrift-daten,monospace); border-radius:0; }
.vermietung .av-calendar-note { font-size:12px; }
.vermietung__hilfe { margin-top:28px; padding-top:24px; border-top:1px solid var(--linie,#d3dcdf); }
.vermietung__hilfe p { font-size:14px; }
.vermietung .knopf { margin:18px 0; }
@media (max-width:1100px) and (min-width:901px) { .vermietung .im-av-grid { grid-template-columns:minmax(0,1fr); } .vermietung .av-calendar-nav { flex-wrap:wrap; } }
