/* CHECKUPAUTO FLASH — flame gradually consumes an actual, provider-verified
 * five-minute offer. All content stays readable and the button stays stable.
 * Pure CSS: no remote assets, no canvas memory, no particle emitter.
 */
body #reservation.booking-planner .slot-button.flash-burning{
  --flash-progress:0;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding-bottom:11px;
  border:2px solid #dc671d;
  border-radius:9px;
  background:#fff3dd;
  box-shadow:0 0 0 1px rgba(223,105,18,.16),0 4px 14px rgba(196,81,15,.14);
  color:#502b13;
}
body #reservation.booking-planner .slot-button.flash-burning::before{
  content:'';
  position:absolute;
  inset:-2px -2px 0;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(ellipse at 12% 100%,rgba(255,163,31,.9) 0 9%,transparent 31%),
    radial-gradient(ellipse at 42% 100%,rgba(245,91,16,.75) 0 12%,transparent 36%),
    radial-gradient(ellipse at 78% 100%,rgba(255,187,52,.95) 0 10%,transparent 36%),
    linear-gradient(0deg,rgba(255,153,33,.38),transparent 60%);
  opacity:.66;
  transform-origin:50% 100%;
}
body #reservation.booking-planner .slot-button.flash-burning::after{
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:calc(var(--flash-progress,0) * 100%);
  background:linear-gradient(95deg,rgba(99,67,50,.13),rgba(177,103,44,.16) 75%,rgba(245,111,26,.09));
  box-shadow:2px 0 6px rgba(171,63,12,.25);
  pointer-events:none;
  z-index:0;
}
body #reservation.booking-planner .slot-button.flash-burning > *{position:relative;z-index:1}
body #reservation.booking-planner .slot-button.flash-burning .slot-flame{font-size:24px;filter:drop-shadow(0 2px 2px rgba(173,62,17,.22))}
body #reservation.booking-planner .slot-button.flash-burning .flash-countdown{
  display:block;
  width:max-content;
  min-width:3.65em;
  margin:3px auto 0;
  padding:3px 7px;
  border-radius:5px;
  background:#5e2b19;
  color:#fff8eb;
  font:800 13px/1.3 ui-monospace,Consolas,monospace;
  letter-spacing:.06em;
  font-variant-numeric:tabular-nums;
}
body #reservation.booking-planner .slot-button.flash-burning .flash-offer-caption{
  display:block;
  margin:4px auto 0;
  font:800 9px/1.4 Arial,sans-serif;
  letter-spacing:.04em;
  color:#85360a;
  text-align:center;
}
body #reservation.booking-planner .slot-button.flash-burning[data-fire-phase="intense"]{
  border-color:#dc4e15;background:#ffecd3
}
body #reservation.booking-planner .slot-button.flash-burning[data-fire-phase="critical"]{
  border-color:#b73516;background:#f5dfcc;
}
body #reservation.booking-planner .slot-button.flash-burning[data-fire-phase="embers"]{
  border-color:#86533b;background:#ede4df;
}
body #reservation.booking-planner .slot-button.flash-burning[data-fire-phase="embers"]::before{opacity:.22}
body #reservation.booking-planner .slot-button.flash-burning:focus-visible{
  outline:3px solid #234b39;outline-offset:3px
}
body #reservation.booking-planner .slot-button.flash-expiring,
body #reservation.booking-planner .slot-button.flash-reversion-pending{
  border:2px solid #9b8c7f;
  background:#eeeae7;
  opacity:.95;
  box-shadow:none;
  cursor:wait;
}
body #reservation.booking-planner .slot-button.flash-expiring .flash-offer-caption,
body #reservation.booking-planner .slot-button.flash-reversion-pending em{
  display:block;
  color:#5b4a40;
  font:700 9px/1.35 Arial,sans-serif;
  text-align:center;
}
body #reservation.booking-planner .slot-button.flash-expiring .flash-countdown{
  display:block;color:#5b4a40;background:transparent;margin:auto;
}
@media(prefers-reduced-motion:no-preference){
  body #reservation.booking-planner .slot-button.flash-burning::before{
    animation:checkup-flame-rise 1.2s ease-in-out infinite alternate;
  }
  body #reservation.booking-planner .slot-button.flash-burning .slot-flame{
    animation:checkup-flame-dance 2.1s ease-in-out infinite alternate;
  }
  body #reservation.booking-planner .slot-button.flash-burning[data-fire-phase="embers"]::before{
    animation:checkup-flame-dim 2s ease-in-out infinite alternate
  }
  @keyframes checkup-flame-rise{
    from{transform:translateY(2px) scaleX(.97) scaleY(.93);opacity:.48}
    to{transform:translateY(-2px) scaleX(1.03) scaleY(1.06);opacity:.84}
  }
  @keyframes checkup-flame-dance{
    from{transform:translateY(1px) rotate(-6deg) scale(.95)}
    to{transform:translateY(-2px) rotate(6deg) scale(1.1)}
  }
  @keyframes checkup-flame-dim{
    from{opacity:.08}
    to{opacity:.3}
  }
}
@media(prefers-reduced-motion:reduce){
  body #reservation.booking-planner .slot-button.flash-burning *,
  body #reservation.booking-planner .slot-button.flash-burning::before,
  body #reservation.booking-planner .slot-button.flash-burning::after{
    animation:none!important;
    transition:none!important;
    transform:none!important;
  }
}

/* Real low-demand candidates: a VISIBLY burning highlight, NOT a fake offer.
 * We keep the genuine 80/90 EUR and do not attach a countdown, since no
 * provider-confirmed promotion exists. The strong specificity is deliberate:
 * premium-ui.css loads later and otherwise masks all orange tile backgrounds.
 */
body #reservation.booking-planner .slot-button.low-demand-suggested{
 position:relative;
 isolation:isolate;
 overflow:hidden;
 min-height:82px;
 padding-top:10px;
 padding-bottom:10px;
 border:2px solid #dd691d;
 border-radius:12px;
 background:linear-gradient(135deg,#fffaf1 0%,#fff0d5 68%,#ffe4c4 100%);
 box-shadow:0 0 0 1px rgba(236,115,26,.23),0 5px 17px rgba(191,72,10,.17);
 color:#56331a;
}
body #reservation.booking-planner .slot-button.low-demand-suggested::before{
 content:"";
 position:absolute;
 pointer-events:none;
 inset:0;
 z-index:0;
 opacity:.8;
 background:
  radial-gradient(ellipse 28% 51% at 12% 105%,rgba(255,179,46,.78),transparent 97%),
  radial-gradient(ellipse 24% 63% at 45% 105%,rgba(249,107,25,.67),transparent 98%),
  radial-gradient(ellipse 33% 49% at 84% 108%,rgba(255,162,34,.79),transparent 97%);
 transform-origin:50% 100%;
}
body #reservation.booking-planner .slot-button.low-demand-suggested:not(.selected)::after{
 content:"";
 position:absolute;
 top:0;left:0;right:0;height:5px;
 pointer-events:none;
 z-index:0;
 background:linear-gradient(90deg,transparent,#f3af3b 22%,#ec6716 46%,#ffd07b 72%,transparent);
 opacity:.8;
}
body #reservation.booking-planner .slot-button.low-demand-suggested > :is(span,small,em){
 position:relative;z-index:1;
}
body #reservation.booking-planner .slot-button.low-demand-suggested > .slot-time{
 display:flex;align-items:center;justify-content:space-between;gap:5px;width:100%;
 font-weight:750;
}
body #reservation.booking-planner .slot-button.low-demand-suggested .slot-flame{
 display:inline-flex;flex:0 0 auto;
 font-size:24px;
 filter:drop-shadow(0 0 4px rgba(239,91,8,.52));
}
body #reservation.booking-planner .slot-button.low-demand-suggested em{
 display:block;
 color:#713b0f;
 font-size:10px;
 font-weight:800;
 letter-spacing:.02em;
 line-height:1.35;
}
body #reservation.booking-planner .slot-button.low-demand-suggested:not(.selected):hover{
 border-color:#ba4111;
 background:linear-gradient(135deg,#fff6e9,#ffddad);
 box-shadow:0 0 0 2px rgba(237,128,20,.25),0 9px 24px rgba(205,79,10,.25);
}
body #reservation.booking-planner .slot-button.low-demand-suggested.selected{
 border-color:#d45c1c;
 background:linear-gradient(135deg,#c95a20,#a43a1c);
 box-shadow:0 0 0 2px rgba(245,163,55,.32);
}
body #reservation.booking-planner .slot-button.low-demand-suggested.selected em{
 color:#fff;
}
body #reservation.booking-planner .booking-day-head.has-flame{
 position:relative;
 background:linear-gradient(125deg,#fffaf3,#ffeacd 80%,#f1f4e9);
 box-shadow:inset 0 -2px 0 rgba(245,134,35,.30);
}
body #reservation.booking-planner .booking-day-head.has-flame .day-flame{
 filter:drop-shadow(0 0 3px rgba(255,112,23,.65));
}
@media(prefers-reduced-motion:no-preference){
 body #reservation.booking-planner .slot-button.low-demand-suggested::before{
  animation:booking-candidate-fire-rise 1.65s ease-in-out infinite alternate;
 }
 body #reservation.booking-planner .slot-button.low-demand-suggested:not(.selected)::after{
  animation:booking-candidate-embers 2.3s ease-in-out infinite alternate;
 }
 body #reservation.booking-planner .slot-button.low-demand-suggested .slot-flame{
  animation:booking-candidate-icon 1.25s ease-in-out infinite alternate;
 }
 @keyframes booking-candidate-fire-rise{
  from{opacity:.56;transform:translateY(3px) scaleY(.82)}
  to{opacity:.94;transform:translateY(-2px) scaleY(1.08)}
 }
 @keyframes booking-candidate-embers{
  from{opacity:.32}
  to{opacity:.95}
 }
 @keyframes booking-candidate-icon{
  from{transform:translateY(1px) rotate(-8deg) scale(.96)}
  to{transform:translateY(-3px) rotate(7deg) scale(1.13)}
 }
}
@media(prefers-reduced-motion:reduce){
 body #reservation.booking-planner .slot-button.low-demand-suggested::before,
 body #reservation.booking-planner .slot-button.low-demand-suggested::after,
 body #reservation.booking-planner .slot-button.low-demand-suggested .slot-flame{
  animation:none!important;
  transition:none!important;
  transform:none!important;
 }
}
