
.bcr { max-width: 720px; margin: 20px auto; padding: 18px; border: 1px solid #e5e5e5; border-radius: 10px; background: #fff; }
.bcr [hidden]{ display:none !important; }

.bcr__title { margin: 0 0 16px; }
.bcr__row { margin: 10px 0; display: flex; flex-direction: column; gap: 6px; }
.bcr__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.bcr__row input, .bcr__row select, .bcr__row textarea { padding: 10px 12px; border: 1px solid #cfd8dc; border-radius: 0; }
.bcr__btn { appearance: none; border: 0; padding: 10px 14px; border-radius: 0; background: rgb(0, 139, 108); color: #fff; cursor: pointer; }
.bcr__btn:hover { background: rgb(15, 93, 73); }

.bcr__btn--secondary { background: #6b7280; }
.bcr__actions { display: flex; gap: 10px; margin-top: 16px; }
.bcr__error { color: #b91c1c; margin-top: 10px; min-height: 1.2em; }
.bcr__success { padding: 14px; background: #ecfdf5; border: 1px solid #10b981; border-radius: 10px; }
.bcr__hint { font-size: 12px; color: #6b7280; }
.bcr__brand { display:flex; gap: 12px; align-items: flex-start; margin: 10px 0 16px; justify-content: space-between; }
.bcr__brand img { max-width: 120px; height: auto; }
.bcr__product { padding: 12px; background:#f9fafb; border: 1px solid #e5e7eb; border-radius: 10px; }
.bcr__product-info { margin-top: 8px; color:#374151; }
.bcr__product-info p { margin: 0 0 10px 0; }
.bcr__product-info p:last-child { margin-bottom: 0; }
.bcr__product-info br { display: block; content: ""; margin-top: 6px; }
.bcr__summary-info p { margin: 0 0 8px 0; }
.bcr__summary-info p:last-child { margin-bottom: 0; }
@media (max-width: 720px) {
  .bcr__grid { grid-template-columns: 1fr; }
}


.bcr__debug { margin-top: 18px; border-top: 1px dashed #d1d5db; padding-top: 12px; }
.bcr__debugbar { display:flex; align-items:center; gap: 10px; }
.bcr__debughint { font-size: 12px; color:#6b7280; }
.bcr__debugpre { margin-top: 10px; padding: 10px; border: 1px solid #e5e7eb; border-radius: 10px; background: #f9fafb; max-height: 260px; overflow: auto; font-size: 12px; }

.bcr__brand-name { font-weight: 700; margin-top: 2px; }

/* Language radio buttons */
.bcr__lang-options { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.bcr__radio-options { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.bcr__radio { display: inline-flex; align-items: center; }
.bcr__radio input { position: absolute; opacity: 0; pointer-events: none; }
.bcr__radio-pill { display: inline-flex; align-items: center; gap: 8px; padding: 10px 12px; border: 1px solid #cfd8dc; border-radius: 0px; cursor: pointer; -webkit-user-select: none; user-select: none; background: #fff; color: #111827; -webkit-text-fill-color: #111827; opacity: 1; }
.bcr__radio-pill * { color: inherit; -webkit-text-fill-color: inherit; opacity: 1; }
.bcr__row.bcr__lang > label, .bcr__row.bcr__country-row > label { color: #111827; -webkit-text-fill-color: #111827; opacity: 1; }

.bcr__langbtn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid #cfd8dc;
  border-radius: 0px;
  cursor: pointer;
  user-select: none;
  background: #fff;
  font: inherit;
}
.bcr__langbtn.is-active {
  border-color: #0a8f63;
}
.bcr__langbtn:focus { outline: 2px solid rgba(10, 143, 99, 0.35); outline-offset: 2px; }

.bcr__radio input:focus + .bcr__radio-pill { outline: 2px solid #111827; outline-offset: 2px; }
.bcr__radio input:checked + .bcr__radio-pill { border-color: #111827; }
/* Polyfill: Windows renders country-flag emojis (U+1F1E6-1F1FF) as letter pairs.
   local() sources are tried first — on macOS/iOS/Android the native emoji font is used,
   only Windows (where neither Apple nor Noto Color Emoji exists locally) falls back to the CDN Twemoji font. */
@font-face {
    font-family: "Twemoji Country Flags";
    unicode-range: U+1F1E6-1F1FF, U+1F3F4, U+E0062-E007F;
    src: local("Apple Color Emoji"),
         local("Noto Color Emoji"),
         url("https://cdn.jsdelivr.net/npm/country-flag-emoji-polyfill@0.1.8/dist/TwemojiCountryFlags.woff2") format("woff2");
    font-display: swap;
}
.bcr__flag { font-size: 18px; line-height: 1; font-family: "Twemoji Country Flags", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", sans-serif; }

.bcr__code { text-transform: uppercase; }

/* Coupon code as 4 separate inputs (client mode, show_pattern=1) */
.bcr__codeparts { display:flex; align-items:center; gap: 6px; }
.bcr__codepart { text-transform: uppercase; flex: 1 1 0; min-width: 0; }
.bcr__codepart-sep { opacity: 0.6; user-select: none; }

/* Make code parts wrap nicely on narrow screens */
@media (max-width: 420px) {
  .bcr__codeparts { flex-wrap: wrap; }
  .bcr__codepart-sep { display:none; }
}

.bcr__intro { margin: 0 0 12px; padding: 12px; background:#f9fafb; border: 1px solid #e5e7eb; }

/* Progress indicator (shown from step 2 onwards) */
.bcr__progress { margin: 0 0 12px; padding: 12px; }
.bcr__progress-track { position: relative; display:flex; justify-content: space-between; gap: 0; }
.bcr__progress-track::before { content:""; position:absolute; left: 6px; right: 6px; top: 8px; height: 2px; background:#d1d5db; }
.bcr__progress-item { position: relative; flex: 1 1 0; text-align: center; }
.bcr__progress-dot {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #d1d5db;
  margin: 2px auto 0;
  position: relative;
  z-index: 1;
  color: white;
  font-size: 0.7em;
  font-weight: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bcr__progress-label { margin-top: 8px; font-size: 12px; color:#6b7280; }
.bcr__progress-item.is-complete .bcr__progress-dot,
.bcr__progress-item.is-active .bcr__progress-dot { background: rgb(0, 139, 108); }
.bcr__progress-item.is-active .bcr__progress-label { color:#111827; font-weight: 700; }
.bcr__progress-item.is-complete .bcr__progress-label { color:#111827; }

.bcr__checkbox { display: inline-flex; align-items: center; gap: 8px; }
.bcr__checkbox input { width: 18px; height: 18px; }
.bcr__optimal-date { font-weight: 600; }

.bcr__btn--secondary:hover { background: #4b5563; }

.bcr__brand-left { flex: 1 1 auto; }
.bcr__brand-right { flex: 0 0 auto; text-align: right; }


/* Ensure brand logo is visible and right-aligned even under aggressive theme CSS */
.bcr__brand-right { display:flex; justify-content:flex-end; align-items:flex-start; }
.bcr__brand-right img { display:block; width:160px; max-width:160px; height:auto; max-height:80px; flex:0 0 auto; object-fit:contain; }



/* Loading overlay to prevent duplicate API calls */
.bcr { position: relative; }
.bcr__loading { position:absolute; inset:0; background: rgba(255,255,255,0.65); display:flex; flex-direction:column; align-items:center; justify-content:center; z-index: 50; }
.bcr__loading[hidden] { display:none !important; }
.bcr__spinner { width:68px; height:68px; border:6px solid rgba(0,0,0,0.15); border-top-color: rgb(0, 139, 108); border-radius: 50%; animation: bcrspin .8s linear infinite; }

.bcr__loading-text { margin-top: 14px; max-width: 520px; text-align: center; line-height: 1.4; font-size: 14px; }
@keyframes bcrspin { to { transform: rotate(360deg); } }

/*
 * Mobile UX fix:
 * On small screens the form can be taller than the viewport.
 * Keep the loading spinner centered in the *visible* viewport (not the whole form).
 */
@media (max-width: 768px) {
  .bcr__loading{
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    z-index: 99999;
  }
}

/* Prevent background scroll while the loading overlay is shown */
body.bcr--no-scroll{ overflow: hidden !important; }

.bcr__btn[disabled], .bcr input[disabled], .bcr select[disabled], .bcr textarea[disabled] { opacity: .6; cursor: not-allowed; }

/* ------------------------------------------------------------------
 * Customer overrides (v0.5.3)
 * ------------------------------------------------------------------ */

.bcr__success {
  padding: 14px;
  background: #dff2ed;
  border: 1px solid #10b981;
  border-radius: 0px;
}

.bcr__error {
  padding: 14px;
  background: #ffe9e9;
  color: #b91c1c;
  border: 1px solid #e5352c !important;
  border-radius: 0px;
  margin-bottom: 10px;
  min-height: 0;
}

.bcr {
  max-width: 100%;
  margin: 0px auto;
  padding: 0px;
  border: 0px solid #e5e5e5;
  border-radius: 0px;
  background: #fff;
}

.bcr__product {
  padding: 12px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 0px;
}

.bcr__radio {
  display: inline-block;
  align-items: center;
}

.bcr__radio-pill {
  border-width: 2px;
}

.bcr__radio input:checked + .bcr__radio-pill {
  border-width: 2px;
  border-color: #008b6c;
}

.bcr__intro {
  margin: 0 0 12px;
  padding: 0px;
  background: #ffffff;
  border: 0px solid #e5e7eb;
}

/* Required-field error styling */
.bcr__invalid {
  border: 1px solid #e5352c !important;
}

.bcr__invalid-row .bcr__radio-pill {
  border-color: rgb(142, 30, 32) !important;
}

/* Input/select invalid: red border + error icon (right) */
.bcr__row input.bcr__invalid,
.bcr__row textarea.bcr__invalid {
  padding-right: 44px;
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 20px 20px;
  /* Red warning triangle icon */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23e5352c' d='M1 21h22L12 2 1 21z'/%3E%3Cpath fill='white' d='M12 16.5a1.25 1.25 0 1 0 0 2.5a1.25 1.25 0 0 0 0-2.5zM11 9h2v6h-2z'/%3E%3C/svg%3E");
}

.bcr__row select.bcr__invalid {
  padding-right: 54px;
  background-repeat: no-repeat;
  /* Leave room for native select arrow */
  background-position: right 34px center;
  background-size: 20px 20px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23e5352c' d='M1 21h22L12 2 1 21z'/%3E%3Cpath fill='white' d='M12 16.5a1.25 1.25 0 1 0 0 2.5a1.25 1.25 0 0 0 0-2.5zM11 9h2v6h-2z'/%3E%3C/svg%3E");
}

/* Date field: calendar icon on the right */
.bcr__row input[data-field='desiredDeliveryDate'] {
  /* Some themes reset background-image for inputs. Use !important to ensure the icon remains visible. */
  padding-right: 44px !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 20px 20px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(107%2C114%2C128)' d='M7 2h2v2h6V2h2v2h3v18H2V4h5V2zm13 6H4v12h16V8z'/%3E%3Cpath fill='rgb(107%2C114%2C128)' d='M6 10h4v4H6z'/%3E%3C/svg%3E") !important;
}

/* When using flatpickr with altInput, the visible field is the generated .flatpickr-input (no data-field attribute).
   Add the same calendar icon to keep the UI consistent. */
.bcr__row[data-desired-date-row] .flatpickr-input {
  padding-right: 44px !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 20px 20px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(107%2C114%2C128)' d='M7 2h2v2h6V2h2v2h3v18H2V4h5V2zm13 6H4v12h16V8z'/%3E%3Cpath fill='rgb(107%2C114%2C128)' d='M6 10h4v4H6z'/%3E%3C/svg%3E") !important;
}

/* Inline ZIP message (shown when no ZIP entered) */
.bcr__zipmsg {
  color: #e5352c!important;
  margin-top: 0px;
  font-size: 14px !important;
}

.bcr__error:empty { display: none; }

/* intl-tel-input: full width in our layout */
.bcr .iti { width: 100%; }
.bcr .iti input { width: 100%; }



/* Summary labels (Step 4) */
.bcr__summary-row{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:3px 0;
}
.bcr__summary-label{
  flex:0 0 190px;
  font-weight:600;
}
.bcr__summary-value{
  flex:1 1 auto;
  word-break:break-word;
}
.bcr__summary-sep{
  height:1px;
  margin:10px 0;
  background:currentColor;
  opacity:0.15;
}


/* City select/input wrapper */
.bcr__citywrap{width:100%;}
.bcr__citywrap input, .bcr__citywrap select{width:100%;}


/* Kontakt-Infobox after repeated failures */
.bcr__contactbox {
padding: 14px;
background: #cfe2ff;
color: #052c65;
border: 1px solid #052c65;
border-radius: 0px;
margin-bottom: 10px;
min-height: 0;
}
.bcr__contactbox p{margin:0 0 8px}
.bcr__contactbox p:last-child{margin-bottom:0}

/* Wartungs-Infobox */
.bcr__maintenance-notice {
  padding: 14px;
  background: #fff3cd;
  color: #664d03;
  border: 1px solid #ffc107;
  border-radius: 0px;
  margin-top: 12px;
}
.bcr__maintenance-notice p{margin:0 0 8px}
.bcr__maintenance-notice p:last-child{margin-bottom:0}
.bcr__maintenance-notice h2,.bcr__maintenance-notice h3{margin:0 0 8px;font-size:1em;font-weight:bold}

/* --- Biogarten theme alignment overrides (v0.5.11.25) --- */
.bcr label{
  color: inherit;
  display: block;
  font-size: .8125rem!important;
  font-weight: 700!important;
  line-height: 1!important;
}
.bcr label.bcr__checkbox{
  font-size: 1rem!important;
  font-weight: 400!important;
  line-height: 1.25 !important;
}

.bcr .bcr__invalid{
  border: 1px solid #e5352c !important;
}

/* ensure invalid icon is red */
.bcr .bcr__row input.bcr__invalid,
.bcr .bcr__row textarea.bcr__invalid{
  /* icon is encoded in background-image above; this ensures theme filters can't recolor it */
  filter: none !important;
}

.bcr .bcr__privacy-notice{
  font-size:14px;
}

.bcr select{
  background-size: 14px auto, 100%!important;
}

.bcr .bcr__loading{
  background: rgba(255,255,255,0.90)!important;
}

.bcr select:active,
.bcr textarea:active,
.bcr input:is([type=url],[type=tel],[type=text],[type=time],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=number],[type=search],[type=password]):active{
  outline: none;
  color: var(--theme-form-text-active-color, var(--theme-text-color))!important;
  border-color: var(--theme-form-field-border-active-color)!important;
  background-color: var(--has-classic-forms, var(--theme-form-field-background-active-color))!important;
}

/* Flatpickr selected day color */
.bcr .flatpickr-day.selected,
.bcr .flatpickr-day.startRange,
.bcr .flatpickr-day.endRange,
.bcr .flatpickr-day.selected.inRange,
.bcr .flatpickr-day.startRange.inRange,
.bcr .flatpickr-day.endRange.inRange,
.bcr .flatpickr-day.selected:focus,
.bcr .flatpickr-day.startRange:focus,
.bcr .flatpickr-day.endRange:focus,
.bcr .flatpickr-day.selected:hover,
.bcr .flatpickr-day.startRange:hover,
.bcr .flatpickr-day.endRange:hover,
.bcr .flatpickr-day.selected.prevMonthDay,
.bcr .flatpickr-day.startRange.prevMonthDay,
.bcr .flatpickr-day.endRange.prevMonthDay,
.bcr .flatpickr-day.selected.nextMonthDay,
.bcr .flatpickr-day.startRange.nextMonthDay,
.bcr .flatpickr-day.endRange.nextMonthDay{
  background: rgb(0, 139, 108);
  -webkit-box-shadow: none;
  box-shadow: none;
  color: #fff;
  border-color: rgb(0, 139, 108);
}

/* Field vertical padding to match theme */
.bcr .bcr__row input,
.bcr .bcr__row select,
.bcr .bcr__row textarea{
  padding-bottom: 0px!important;
  padding-top: 0px!important;
}

/* intl-tel-input left padding (fix typo immportant) */
.bcr .iti input[type=tel]{
  padding-left: 45px!important;
}

.bcr .bcr__loading-text{
  font-weight:bold!important;
  margin-top: 14px;
  max-width: 520px;
  text-align: center;
  line-height: 1.4;
  font-size: 16px!important;
}

.bcr .bcr__btn{
  font-weight: 800;
}

/* Ensure invalid select icon is red and aligned */
.bcr .bcr__row select.bcr__invalid{
  padding-right: 54px;
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 20px 20px !important;
  background-image: url(data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23e5352c' d='M1 21h22L12 2 1 21z'/%3E%3Cpath fill='white' d='M12 16.5a1.25 1.25 0 1 0 0 2.5a1.25 1.25 0 0 0 0-2.5zM11 9h2v6h-2z'/%3E%3C/svg%3E);
}

/* Address type radio buttons (match design with green circle)
   IMPORTANT: scope to address type only so language selection keeps button styling (v0.5.11.25). */
.bcr .bcr__radio-options--address{ gap: 18px; }
.bcr .bcr__radio-options--address .bcr__radio{ gap: 10px; }
.bcr .bcr__radio-options--address .bcr__radio input[type="radio"]{
  position: static;
  opacity: 1;
  pointer-events: auto;
  appearance: none;
  -webkit-appearance: none;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid rgb(0, 139, 108);
  background: #fff;
  display: inline-block;
  vertical-align: middle;
}
.bcr .bcr__radio-options--address .bcr__radio input[type="radio"]:checked{
  background: rgb(0, 139, 108);
  box-shadow: inset 0 0 0 4px #fff;
}
.bcr .bcr__radio-options--address .bcr__radio-text{ font-size: var(--theme-font-size); line-height: 1.2; }

/* Shipping option radio buttons: show actual radio circles (do not hide inputs) */
.bcr .bcr__radio-options--shipping{ gap: 18px; }
.bcr .bcr__radio-options--shipping .bcr__radio{ gap: 10px; }
.bcr .bcr__radio-options--shipping .bcr__radio input[type="radio"]{
  position: static;
  opacity: 1;
  pointer-events: auto;
  appearance: none;
  -webkit-appearance: none;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid rgb(0, 139, 108);
  background: #fff;
  display: inline-block;
  vertical-align: middle;
}
.bcr .bcr__radio-options--shipping .bcr__radio input[type="radio"]:checked{
  background: rgb(0, 139, 108);
  box-shadow: inset 0 0 0 4px #fff;
}

/* Checkbox styling (green square with white check) */
.bcr label.bcr__checkbox{ display: inline-flex; align-items: center; gap: 12px; }
.bcr label.bcr__checkbox input[type="checkbox"]{
  appearance: none;
  -webkit-appearance: none;
  width: 26px;
  height: 26px;
  border: 2px solid rgb(0, 139, 108);
  background: #fff;
  display: inline-block;
  border-radius: 0px;
  position: relative;
}
.bcr label.bcr__checkbox input[type="checkbox"]:checked{
  background: rgb(0, 139, 108);
}
.bcr label.bcr__checkbox input[type="checkbox"]:checked::after{
  content: "";
  position: absolute;
  inset: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M9 16.2l-3.5-3.5L4 14.2l5 5 11-11-1.5-1.5z'/%3E%3C/svg%3E");
}

/* Input base styling */
.bcr .bcr__row input{
  padding: 0px 8px;
  border: 1px solid #cfd8dc;
  border-radius: 0;
}

.bcr .bcr__radio-text{ font-weight: 400 !important; font-size: var(--theme-font-size); }

/* Calendar icon on the visible flatpickr alt input */
.bcr .bcr__row[data-desired-date-row] input.bcr__date-alt,
.bcr .bcr__row[data-desired-date-row] input.form-control.input[readonly]{
  padding-right: 44px !important;
  background-repeat: no-repeat !important;
  background-position: right 10px center !important;
  background-size: 20px 20px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 height%3D%2224px%22 viewBox%3D%220 -960 960 960%22 width%3D%2224px%22 fill%3D%22%23212121%22%3E%3Cpath d%3D%22M200-80q-33 0-56.5-23.5T120-160v-560q0-33 23.5-56.5T200-800h40v-80h80v80h320v-80h80v80h40q33 0 56.5 23.5T840-720v560q0 33-23.5 56.5T760-80H200Zm0-80h560v-400H200v400Zm0-480h560v-80H200v80Zm0 0v-80 80Zm280 240q-17 0-28.5-11.5T440-440q0-17 11.5-28.5T480-480q17 0 28.5 11.5T520-440q0 17-11.5 28.5T480-400Zm-188.5-11.5Q280-423 280-440t11.5-28.5Q303-480 320-480t28.5 11.5Q360-457 360-440t-11.5 28.5Q337-400 320-400t-28.5-11.5ZM640-400q-17 0-28.5-11.5T600-440q0-17 11.5-28.5T640-480q17 0 28.5 11.5T680-440q0 17-11.5 28.5T640-400ZM480-240q-17 0-28.5-11.5T440-280q0-17 11.5-28.5T480-320q17 0 28.5 11.5T520-280q0 17-11.5 28.5T480-240Zm-188.5-11.5Q280-263 280-280t11.5-28.5Q303-320 320-320t28.5 11.5Q360-297 360-280t-11.5 28.5Q337-240 320-240t-28.5-11.5ZM640-240q-17 0-28.5-11.5T600-280q0-17 11.5-28.5T640-320q17 0 28.5 11.5T680-280q0 17-11.5 28.5T640-240Z%22%2F%3E%3C%2Fsvg%3E") !important;
}

/* Field styling adjustments */
.bcr .bcr__row input{
  padding: 0px 8px;
  border: 1px solid #cfd8dc;
  border-radius: 0;
}

.bcr .bcr__radio-text{ font-weight: 400 !important; font-size: var(--theme-font-size); }

/* Product info in order summary */
.bcr__summary-info { padding: 10px 12px; margin: 4px 0; background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 4px; font-size: 0.9em; color: #374151; }

/* Country display (read-only in step 3) */
.bcr__country-display { display: block; padding: 8px 0; font-weight: 500; }

/* Spritztermin section */
.bcr__spritztermin-sep { margin: 1.5rem 0 0.5rem; border-color: #e5e7eb; }
.bcr__spritztermin-title { font-size: 1.1em; margin: 0 0 6px; }
.bcr__spritztermin-desc { margin: 0 0 12px; color: #555; font-size: 0.95em; }
.bcr__spritztermin-subtitle { font-size: 1em; margin: 18px 0 6px; }
.bcr__spritztermin-fields { margin-top: 12px; }
.bcr__radio-group { display: flex; gap: 18px; margin-top: 4px; }
.bcr__radio-group .bcr__radio { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.bcr__radio-group .bcr__radio input[type="radio"] { position: relative; opacity: 1; pointer-events: auto; width: 18px; height: 18px; margin: 0; }
.bcr__radio-group .bcr__radio span { font-weight: 400; font-size: var(--theme-font-size, 14px); }
.bcr__map-container { border: 1px solid #e5e7eb; border-radius: 6px; overflow: hidden; aspect-ratio: 1 / 1; }
.bcr__map-container #bcr-spritztermin-map { width: 100%; height: 100%; }
.bcr__spritztermin-details { margin-top: 12px; }
.bcr__spritztermin-elevation-display { background: #f9fafb; border: 1px solid #e5e7eb; padding: 6px 8px; font-size: 1.05em; }
.bcr__spritztermin-warning { margin-top: 10px; padding: 10px 12px; background: #fff7ed; border: 1px solid #fb923c; border-radius: 4px; color: #9a3412; font-size: 0.9em; }
.bcr__spritztermin-verify { align-items: center; padding: 12px 14px; margin-bottom: 14px; background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 6px; margin-top: 14px; }
.bcr__spritztermin-verify input { background-color: #fff; }
.bcr__spritztermin-verify a { font-size:13px;color: rgb(0, 139, 108);text-decoration:underline;!important;}
.bcr__spritztermin-verify a:hover { color: rgb(15, 93, 73);}

/* Side-by-side layout: map left, fields right (desktop) */
.bcr__spritztermin-layout { margin-top: 12px; }
.bcr__spritztermin-layout .bcr__spritztermin-map-col { margin-bottom: 16px; }
.bcr__spritztermin-layout .bcr__spritztermin-fields-col .bcr__spritztermin-subtitle { margin-top: 0; }

/* Infobox with apple icon + explanation text */
.bcr__infobox { display: flex; align-items: center; gap: 12px; padding: 12px 14px; margin-bottom: 14px; background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 6px; }
.bcr__infobox img { flex-shrink: 0; width: 40px; height: auto; }
.bcr__infobox p { margin: 0; font-size: 13px; line-height: 1.4; color: #374151; }

@media (min-width: 768px) {
  .bcr__spritztermin-layout { display: flex; gap: 20px; align-items: flex-start; }
  .bcr__spritztermin-layout .bcr__spritztermin-map-col { flex: 0 0 calc(50% - 10px); margin-bottom: 0; }
  .bcr__spritztermin-layout .bcr__spritztermin-fields-col { flex: 1 1 calc(50% - 10px); min-width: 0; }
}


