/* KF-Rental Core – Verfügbarkeit. Bewusst neutral, Farben erbt es vom Theme. */
.kfrc-avail { margin: 16px 0; padding: 14px 0 0; border-top: 1px solid rgba(0, 0, 0, 0.12); }
.kfrc-avail__title { margin: 0 0 8px; font-weight: 600; font-size: 14px; }
.kfrc-avail__fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; }
.kfrc-avail__fields label { display: flex; flex-direction: column; gap: 4px; font-size: 12px; }
.kfrc-avail__fields input[type="date"] { min-height: 44px; width: 100%; box-sizing: border-box; font: inherit; }
.kfrc-avail__result { min-height: 1.4em; margin: 10px 0 0; font-size: 13px; }
.kfrc-avail__result::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 6px; border-radius: 50%; vertical-align: middle; background: transparent; }
.kfrc-avail__result.is-available::before { background: #1a7f37; }
.kfrc-avail__result.is-limited::before { background: #b26b00; }
.kfrc-avail__result.is-unavailable::before { background: #b32d2e; }
.kfrc-avail__result.is-unknown::before,
.kfrc-avail__result.is-checking::before { background: #8a8a8a; }
.kfrc-avail-cart { margin: 0 0 16px; padding: 12px 14px; border-left: 3px solid #b26b00; background: rgba(178, 107, 0, 0.07); font-size: 13px; }
.kfrc-avail-cart[hidden] { display: none; }
.kfrc-avail-cart__head { margin: 0 0 6px; font-weight: 600; }
.kfrc-avail-cart ul { margin: 0 0 6px; padding-left: 18px; }
.kfrc-avail-cart__note { margin: 0; opacity: 0.8; }

/* ---------- Kalender (ab 0.3.0) ---------- */
.kfrc-cal { position: relative; margin-top: 4px; }
.kfrc-cal[hidden], .kfrc-cal__legend[hidden], .kfrc-avail__fields[hidden] { display: none; }
.kfrc-cal__nav { position: absolute; top: 0; left: 0; right: 0; display: flex; justify-content: space-between; pointer-events: none; }
.kfrc-cal__nav button { pointer-events: auto; width: 36px; height: 32px; border: 1px solid rgba(0, 0, 0, 0.15); background: #fff; font-size: 18px; line-height: 1; cursor: pointer; }
.kfrc-cal__nav button:disabled { opacity: 0.3; cursor: default; }
.kfrc-cal__months { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.kfrc-cal__name { margin: 0 0 8px; text-align: center; font-weight: 600; font-size: 13px; line-height: 32px; text-transform: capitalize; }
.kfrc-cal__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 2px; }
.kfrc-cal__wd { font-size: 11px; text-align: center; opacity: 0.6; padding-bottom: 2px; }
.kfrc-cal__day { width: 100%; min-width: 0; height: 32px; border: 0; background: transparent; font: inherit; font-size: 13px; cursor: pointer; padding: 0; position: relative; box-sizing: border-box; } /* 0.3.8: feste Höhe statt aspect-ratio + min-height (Felder überlappten in schmalen Spalten) */
.kfrc-cal__day.is-free { background: rgba(26, 127, 55, 0.10); }
.kfrc-cal__day.is-booked { background: rgba(179, 45, 46, 0.12); color: #8b1f20; text-decoration: line-through; }
.kfrc-cal__day.is-past { opacity: 0.3; cursor: default; }
.kfrc-cal__day.is-today { outline: 1px solid currentColor; outline-offset: -3px; }
.kfrc-cal__day.is-inrange { background: rgba(29, 29, 27, 0.14); }
.kfrc-cal__day.is-start, .kfrc-cal__day.is-end { background: #1d1d1b; color: #fff; font-weight: 600; text-decoration: none; }
.kfrc-cal__day.is-booked.is-inrange { background: rgba(179, 45, 46, 0.35); }
.kfrc-cal__day:not(:disabled):hover { box-shadow: inset 0 0 0 2px #1d1d1b; }
.kfrc-cal__day:focus-visible { outline: 2px solid #1d1d1b; outline-offset: 1px; }
.kfrc-cal__legend { display: flex; flex-wrap: wrap; gap: 6px 16px; list-style: none; margin: 10px 0 0; padding: 0; font-size: 12px; }
.kfrc-cal__legend li::before { content: ""; display: inline-block; width: 12px; height: 12px; margin-right: 6px; vertical-align: -1px; }
.kfrc-cal__legend .is-free::before { background: rgba(26, 127, 55, 0.25); }
.kfrc-cal__legend .is-booked::before { background: rgba(179, 45, 46, 0.35); }
.kfrc-cal__legend .is-selected::before { background: #1d1d1b; }
@media (max-width: 560px) {
	.kfrc-cal__months { grid-template-columns: minmax(0, 1fr); }
	.kfrc-cal__months .kfrc-cal__month + .kfrc-cal__month { display: none; }
}

/* ---------- Anfrageliste: Menge / Entfernen (ab 0.3.0) ---------- */
.kfrc-qty { display: inline-flex; align-items: center; gap: 4px; margin-left: 10px; vertical-align: middle; font-size: 13px; }
.kfrc-qty__btn { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border: 1px solid rgba(0, 0, 0, 0.2); text-decoration: none; color: inherit; }
.kfrc-qty__val { min-width: 20px; text-align: center; }
.kfrc-qty__remove { margin-left: 8px; font-size: 12px; color: #b32d2e; }
.kfrc-qty.is-busy { opacity: 0.4; pointer-events: none; }

/* ---------- Anfrage-Übersicht: Position als Raster (ab 0.3.2) ----------
 * Germanized legt Bild, Name, Mengen-Steuerung und „Mietdauer“ in einen Flex-Wrapper,
 * der die Tabelle über die Spalte hinaus drückt. Raster: Bild links, Rest untereinander. */
.woocommerce-checkout-review-order-table { width: 100%; }
.woocommerce-checkout-review-order-table th.product-total,
.woocommerce-checkout-review-order-table td.product-total { width: 96px; text-align: right; white-space: nowrap; vertical-align: top; }
.woocommerce-checkout-review-order-table td.product-name { vertical-align: top; overflow-wrap: anywhere; }
.woocommerce-checkout-review-order-table .wc-gzd-cart-item-name-wrapper { display: grid !important; grid-template-columns: 60px minmax(0, 1fr); gap: 6px 12px; align-items: start; }
.woocommerce-checkout-review-order-table .wc-gzd-cart-item-thumbnail { grid-column: 1; grid-row: 1 / span 3; }
.woocommerce-checkout-review-order-table .wc-gzd-cart-item-name-wrapper > :not(.wc-gzd-cart-item-thumbnail) { grid-column: 2; }
.woocommerce-checkout-review-order-table .wc-gzd-cart-item-thumbnail img { width: 60px; height: 60px; aspect-ratio: 1 / 1; object-fit: contain; mix-blend-mode: multiply; }
.woocommerce-checkout-review-order-table .kfrc-qty { margin-left: 0; justify-self: start; }
.woocommerce-checkout-review-order-table dl.variation { margin: 0; font-size: 12px; line-height: 1.4; opacity: 0.8; }
.woocommerce-checkout-review-order-table dl.variation dt,
.woocommerce-checkout-review-order-table dl.variation dd,
.woocommerce-checkout-review-order-table dl.variation dd p { display: inline; margin: 0; padding: 0; float: none; }
@media (max-width: 900px) {
	/* Theme-Regel für die Warenkorb-Tabelle (80px 1fr auto) gilt hier nicht. */
	table.woocommerce-checkout-review-order-table tr.cart_item { display: table-row; }
	table.woocommerce-checkout-review-order-table tr.cart_item td { padding: 12px 0; border-bottom: 1px solid rgba(0, 0, 0, 0.12); }
}
