/* Eigene Mietkacheln: drei Spalten am Desktop, zwei auf Tablet, eine am Handy.
   Farben und Schrift erben die bestehenden Knall-Effekt-CI-Einstellungen. */
.ke-rental-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ke-rental-card{display:flex;flex-direction:column;min-width:0;text-decoration:none;color:inherit;overflow-wrap:anywhere;transition:transform .18s ease,box-shadow .18s ease}
.ke-rental-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px #0002}
.ke-rental-card:focus-visible,.ke-rental-form select:focus-visible,.ke-rental-form input:focus-visible{outline:3px solid #c99b43;outline-offset:4px}
.ke-rental-card .ke-textlink{margin-top:auto;padding-top:12px}
.ke-rental-photo{display:block;width:100%;height:auto;max-height:420px;object-fit:contain;margin-bottom:18px;border-radius:12px}
.ke-rental-detail dd{margin:0 0 12px;font-weight:700;font-size:1.25em}
.ke-rental-form{min-width:0;max-width:100%;padding:20px;border:1px solid #c99b43;border-radius:12px;margin:18px 0}
.ke-rental-form legend{font-weight:700;padding:0 8px}
.ke-rental-form select{width:100%;max-width:100%;min-height:44px;font-size:16px}
.ke-rental-service{display:flex;align-items:flex-start;gap:10px;min-height:44px;padding:8px 0;cursor:pointer}
.ke-rental-service input{flex:0 0 auto;margin-top:4px}
@media(max-width:1024px){.ke-rental-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ke-rental-grid{grid-template-columns:minmax(0,1fr)}.ke-rental-form{padding:14px}}
@media(prefers-reduced-motion:reduce){.ke-rental-card{transition:none}.ke-rental-card:hover{transform:none}}

/* Version 1.0.104: Tages- und Wochenendpreise bleiben auf Kacheln zusammen.
   Servicewege erhalten gleichwertige, auf Handy gut erreichbare Anfragebuttons.
   Diese Regeln ändern weder Preise noch Formular-/Versandlogik. */
.ke-rental-card__prices{display:grid;gap:5px;margin:12px 0 18px;line-height:1.5}
.ke-rental-card__prices strong,.ke-rental-card__prices span{overflow-wrap:anywhere}
.ke-rental-card__prices small{font-size:13px}
.ke-rental-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0}
.ke-rental-service-grid>article{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}
.ke-rental-service-grid .ke-btn{margin-top:auto;min-height:48px;max-width:100%;box-sizing:border-box;white-space:normal;line-height:1.5;text-align:center}
.ke-rental-service-grid .ke-btn:focus-visible{outline:3px solid #c99b43;outline-offset:4px}
@media(max-width:1024px){.ke-rental-service-grid{grid-template-columns:minmax(0,1fr)}}

/* Website-Block 1.0.131: Filter und Kerninformationen mit großen Bedienflächen.
   Alle Regeln bleiben auf den Mietbereich begrenzt. [hidden] muss auch dann
   wirken, wenn ein älterer CI-Selektor die Karten auf display:flex setzt. */
.ke-rental-catalog [hidden]{display:none!important}
.ke-rental-filters{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:16px;align-items:end;margin:24px 0}
.ke-rental-filters label{display:grid;gap:8px;min-width:0;font-size:16px;line-height:1.5}
.ke-rental-filters input,.ke-rental-filters select{width:100%;min-width:0;max-width:100%;box-sizing:border-box;min-height:48px;font:inherit;padding:10px 12px;border:1px solid #c99b43;border-radius:8px}
.ke-rental-filters button{min-height:48px;max-width:100%;box-sizing:border-box;white-space:normal}
.ke-rental-filters [data-ke-rental-count]{grid-column:1/-1;margin:0;font-size:14px;line-height:1.6}
.ke-rental-filters input:focus-visible,.ke-rental-filters select:focus-visible,.ke-rental-filters button:focus-visible,.ke-rental-gallery-link:focus-visible{outline:3px solid #c99b43;outline-offset:4px}
.ke-rental-empty{padding:18px;border:1px solid #c99b43;border-radius:10px;line-height:1.6}
.ke-rental-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}
.ke-rental-facts>div{min-width:0;padding:14px;border:1px solid #c99b4366;border-radius:10px;overflow-wrap:anywhere}
.ke-rental-facts dt{font-size:14px;line-height:1.5;margin-bottom:8px}
.ke-rental-detail .ke-rental-facts dd{font-size:18px;line-height:1.5;margin:0}
.ke-rental-facts-hint{font-size:14px;line-height:1.6}
.ke-rental-gallery-link{display:block;border-radius:12px}
.ke-rental-gallery figcaption span{display:block}
@media(max-width:760px){.ke-rental-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ke-rental-filters button{grid-column:1/-1}.ke-rental-facts{grid-template-columns:minmax(0,1fr)}}
@media(max-width:480px){.ke-rental-filters{grid-template-columns:minmax(0,1fr)}.ke-rental-filters button{width:100%}}
