/* Preis rechtsbündig wie im alten Layout */
.eubo-rate-row .eubo-rate-price { font-weight: 600; }
/* etwas Luft in der Box */
.eubo-delivery-box .eubo-freight-rates { background: #fafafa; }
.eubo-calendar { font-size: 0.95em; }
.eubo-calendar .eubo-date-input,
.eubo-calendar .eubo-date-input-alt { min-width: 170px; padding: 8px 10px; border-radius: 6px; border: 1px solid #d5d5d5; transition: border-color .15s ease, box-shadow .15s ease; }
.eubo-calendar .eubo-date-input:focus,
.eubo-calendar .eubo-date-input-alt:focus { border-color: #2271b1; box-shadow: 0 0 0 1px rgba(34,113,177,0.18); outline: none; }
.eubo-calendar .eubo-date-input[disabled],
.eubo-calendar .eubo-date-input-alt[disabled] { background: #f7f7f7; cursor: not-allowed; opacity: .8; }
.eubo-calendar .eubo-date-input.eubo-date-error,
.eubo-calendar .eubo-date-input-alt.eubo-date-error { border-color: #c00; box-shadow: 0 0 0 1px rgba(204,0,0,0.15); }
.eubo-calendar .eubo-calendar-note { font-size: 0.9em; margin-top: 6px; }
.eubo-calendar .eubo-calendar-error { font-size: 0.9em; margin-top: 6px; }
.eubo-calendar .flatpickr-calendar { font-size: 0.95em; }
.eubo-calendar .flatpickr-day.disabled { opacity: .35; }
.eubo-pickup-option { display: flex; align-items: flex-start; gap: 8px; }
.eubo-pickup-option-label { display: block; line-height: 1.4; }
.eubo-pickup-info-button { width: 24px; height: 24px; border-radius: 50%; border: 1px solid #cbd5e1; background: #f1f5f9; color: #1d4ed8; font-weight: 600; font-size: 0.85em; display: inline-flex; align-items: center; justify-content: center; padding: 0; cursor: pointer; transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
.eubo-pickup-info-button:hover, .eubo-pickup-info-button:focus { background: #e2e8f0; border-color: #94a3b8; color: #0f172a; }
.eubo-pickup-info-button:focus { outline: 2px solid #2271b1; outline-offset: 2px; }
.eubo-pickup-modal { position: fixed; inset: 0; display: none; align-items: center; justify-content: center; padding: 20px; z-index: 9999; }
.eubo-pickup-modal.is-visible { display: flex; }
.eubo-pickup-modal__overlay { position: absolute; inset: 0; background: rgba(15, 23, 42, 0.55); }
.eubo-pickup-modal__dialog { position: relative; background: #fff; border-radius: 10px; box-shadow: 0 20px 60px rgba(15, 23, 42, 0.35); max-width: 520px; width: 100%; padding: 26px 28px 22px; display: flex; flex-direction: column; max-height: 85vh; }
.eubo-pickup-modal__close { position: absolute; top: 10px; right: 10px; border: none; background: transparent; color: #475569; font-size: 1.6em; line-height: 1; padding: 6px; border-radius: 50%; cursor: pointer; transition: background-color .15s ease, color .15s ease; }
.eubo-pickup-modal__close:hover,
.eubo-pickup-modal__close:focus { color: #0f172a; background: rgba(148, 163, 184, 0.18); outline: none; }
.eubo-pickup-modal__title { margin: 0 0 12px; font-size: 1.1em; font-weight: 600; color: #0f172a; }
.eubo-pickup-modal__content { position: relative; overflow-y: auto; padding-right: 6px; flex: 1 1 auto; }
.eubo-pickup-modal__body { font-size: 0.97em; line-height: 1.6; color: #1f2937; }
.eubo-pickup-modal__section { margin: 0 0 14px; }
.eubo-pickup-modal__section:last-child { margin-bottom: 0; }
.eubo-pickup-modal__section-title { display: block; font-weight: 600; margin-bottom: 4px; color: #0f172a; }
.eubo-pickup-modal__section-body div { margin: 0 0 4px; }
.eubo-pickup-modal__section-body div:last-child { margin-bottom: 0; }
.eubo-pickup-modal__body p { margin: 0 0 10px; }
.eubo-pickup-modal__body p:last-child { margin-bottom: 0; }
body.eubo-pickup-modal-open { overflow: hidden; }
.eubo-tour-panel { border-top: 1px solid #eef2f7; padding-top: 10px; }
.eubo-tour-highlight { background: #e8f5e9; border: 1px solid #c8e6c9; border-radius: 6px; padding: 10px 12px; color: #1b5e20; }
.eubo-tour-highlight { position: relative; padding-left: 52px; }
.eubo-tour-highlight strong { display: block; font-weight: 700; margin-bottom: 2px; }
.eubo-tour-highlight::before { content: ''; position: absolute; left: 12px; top: 50%; transform: translateY(-50%); width: 32px; height: 32px; display: inline-block; background-repeat: no-repeat; background-size: contain; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231b5e20'%3E%3Cpath d='M3 6.75A2.75 2.75 0 0 1 5.75 4h9.5A2.75 2.75 0 0 1 18 6.75V9h1.25A2.75 2.75 0 0 1 22 11.75V15a1 1 0 0 1-1 1h-.78a2.25 2.25 0 0 1-4.44 0H8.22a2.25 2.25 0 0 1-4.44 0H3a1 1 0 0 1-1-1V6.75ZM5.75 5.5a1.25 1.25 0 0 0-1.25 1.25V14h1.03a2.25 2.25 0 0 1 4.44 0H15V6.75a1.25 1.25 0 0 0-1.25-1.25h-8Zm12.75 4V14h1.5v-2.25a1.25 1.25 0 0 0-1.25-1.25h-.25Zm-9.28 7.5a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm10 0a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z'/%3E%3C/svg%3E"); }
.eubo-tour-note { background: #fff8e1; border: 1px solid #ffe0b2; border-radius: 6px; padding: 8px 10px; color: #8a6d1f; display: flex; align-items: center; gap: 8px; position: relative; flex-wrap: wrap; }
.eubo-tour-note__text { flex: 1 1 220px; }
.eubo-tour-info-button { width: 24px; height: 24px; border-radius: 50%; border: 1px solid #d6b26d; background: #fff3cd; color: #6b4f1d; display: inline-flex; align-items: center; justify-content: center; padding: 0; font-size: 14px; line-height: 1; cursor: pointer; }
.eubo-tour-info-button:hover,
.eubo-tour-info-button:focus { background: #ffe7a5; border-color: #b38728; outline: none; }
.eubo-tour-info-tooltip { position: absolute; right: 10px; top: calc(100% + 6px); width: min(360px, calc(100vw - 40px)); background: #1f2937; color: #fff; border-radius: 6px; padding: 10px 12px; font-size: 0.88em; line-height: 1.4; box-shadow: 0 8px 18px rgba(15, 23, 42, 0.25); opacity: 0; visibility: hidden; transform: translateY(-2px); transition: opacity .15s ease, transform .15s ease, visibility .15s ease; z-index: 20; }
.eubo-tour-note:hover .eubo-tour-info-tooltip,
.eubo-tour-note:focus-within .eubo-tour-info-tooltip,
.eubo-tour-note.eubo-tour-note--tooltip-open .eubo-tour-info-tooltip { opacity: 1; visibility: visible; transform: translateY(0); }

.eubo-cooling-box { border: 1px solid #e5e7eb; background: #fff; border-radius: 8px; padding: 14px; margin: 14px 0 16px; }
.eubo-cooling-box__head { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; position: relative; }
.eubo-cooling-box__head h4 { margin: 0; font-size: 1.25rem; }
.eubo-cooling-info-button { width: 22px; height: 22px; border-radius: 50%; border: 1px solid #cbd5e1; background: #f8fafc; color: #1f2937; font-size: .85em; line-height: 1; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
.eubo-cooling-info-popover { position: absolute; top: calc(100% + 8px); left: 0; width: min(520px, calc(100vw - 40px)); background: #fff; border: 1px solid #d1d5db; border-radius: 8px; padding: 12px; box-shadow: 0 8px 18px rgba(15,23,42,.15); display: none; z-index: 10; }
.eubo-cooling-info-popover strong { display: block; margin-bottom: 6px; }
.eubo-cooling-info-popover p { margin: 0; font-size: .94em; line-height: 1.45; }
.eubo-cooling-box.is-info-open .eubo-cooling-info-popover { display: block; }

.eubo-cooling-segmented { border: 1px solid #e5e7eb; border-radius: 8px; display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; margin-bottom: 10px; }
.eubo-cooling-option { margin: 0; cursor: pointer; padding: 12px 14px; background: #fff; border-right: 1px solid #e5e7eb; transition: background-color .15s ease, color .15s ease; }
.eubo-cooling-option:last-child { border-right: none; }
.eubo-cooling-option input { position: absolute; opacity: 0; pointer-events: none; }
.eubo-cooling-option span { display: flex; align-items: center; gap: 6px; font-weight: 600; color: #1f2937; }
.eubo-cooling-option.is-active { background: #f0fdf4; color: #166534; box-shadow: inset 0 0 0 1px #86efac; }
.eubo-cooling-option.is-active span { color: #166534; }

.eubo-cooling-panel { border: 1px solid #dcfce7; border-radius: 8px; background: #f6fdf7; padding: 12px 14px; }
.eubo-cooling-panel__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 6px; }
.eubo-cooling-panel p { margin: 0; color: #374151; line-height: 1.45; }
.eubo-cooling-panel__price-label { font-weight: 600; color: #14532d; }

.eubo-cooling-box:not(.is-cooling-enabled) .eubo-cooling-panel { background: #fff; border-color: #e5e7eb; }
.eubo-cooling-box:not(.is-cooling-enabled) .eubo-cooling-panel__top strong { color: #374151; }

@media (max-width: 640px) {
  .eubo-tour-info-tooltip { left: 10px; right: 10px; width: auto; }
  .eubo-cooling-segmented { grid-template-columns: 1fr; }
  .eubo-cooling-option { border-right: none; border-bottom: 1px solid #e5e7eb; }
  .eubo-cooling-option:last-child { border-bottom: none; }
}
