/* ================================
   TOAST (CONFIRM / ERROR) – PRO (FINAL)
   - higher position (raised more than 96px)
   - bigger padding + bigger font
   - strong contrast + glow
   - left state stripe (ok/warn/bad)
   - progress bar stronger (especially OK green)
   - always above content (z-index max)
================================== */

.cnToastHost{
  position:fixed;
  left:14px;
  right:14px;

  bottom:calc(160px + env(safe-area-inset-bottom, 0px));

  display:flex;
  justify-content:center;
  pointer-events:none;

  z-index:2147483000; /* stabil, elég magas, nem max-int */
}

/* alacsony viewportnál lejjebb, hogy ne takarja el a tartalmat */
@media (max-height: 740px){
  .cnToastHost{
    bottom:calc(140px + env(safe-area-inset-bottom, 0px));
  }
}

.cnToast{
  pointer-events:auto;
  position:relative;

  width:min(92vw, 460px);
  min-height:66px;

  display:flex;
  align-items:flex-start;
  gap:12px;

  padding:18px 16px 20px 26px;  /* nagyobb + hely a bal csíknak */
  border-radius:22px;

  border:1px solid rgba(255,255,255,.22);
  background:linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.06));

  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);

  box-shadow:
    0 22px 60px rgba(0,0,0,.62),
    0 0 0 1px rgba(255,255,255,.08) inset;

  transform:translateY(18px);
  opacity:0;
  will-change:transform,opacity;
}

/* LEFT STATE STRIPE */
.cnToast::before{
  content:"";
  position:absolute;
  left:10px;
  top:12px;
  bottom:12px;
  width:5px;
  border-radius:999px;
  background:rgba(122,162,255,.90); /* default */
  box-shadow:0 0 18px rgba(122,162,255,.45);
}

.cnToast[data-type="ok"]::before{
  background:rgba(80,255,160,1);
  box-shadow:0 0 22px rgba(80,255,160,.55);
}
.cnToast[data-type="warn"]::before{
  background:rgba(255,209,102,1);
  box-shadow:0 0 22px rgba(255,209,102,.55);
}
.cnToast[data-type="bad"]::before{
  background:rgba(255,107,107,1);
  box-shadow:0 0 22px rgba(255,107,107,.55);
}

/* SHOW / HIDE */
.cnToast[data-show="1"]{
  transform:translateY(0);
  opacity:1;
  transition:transform 180ms ease-out,opacity 180ms ease-out;
}
.cnToast[data-hide="1"]{
  transform:translateY(12px);
  opacity:0;
  transition:transform 160ms ease-in,opacity 160ms ease-in;
}

/* ICON */
.cnToastIcon{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border-radius:999px;

  display:grid;
  place-items:center;

  border:1px solid rgba(255,255,255,.20);
  background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.26), rgba(255,255,255,.06));
  box-shadow:0 14px 34px rgba(0,0,0,.46);
}
.cnToastIcon svg{ opacity:.98; }

/* TEXT */
.cnToastText{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:4px;
  padding-top:1px;
}
.cnToastText .t{
  font-weight:950;
  letter-spacing:.2px;
  font-size:15px;
  line-height:1.15;
}
.cnToastText .s{
  font-size:14px;
  line-height:1.35;
  opacity:.86;
}

/* GLOW LAYER */
.cnToastGlow{
  position:absolute;
  inset:-22px -18px -22px -18px;
  border-radius:30px;
  pointer-events:none;
  opacity:.98;
  filter:blur(14px);
}
.cnToast[data-type="ok"] .cnToastGlow{
  background:radial-gradient(260px 120px at 32% 52%, rgba(80,255,160,.36), transparent 70%);
}
.cnToast[data-type="warn"] .cnToastGlow{
  background:radial-gradient(260px 120px at 32% 52%, rgba(255,209,102,.30), transparent 70%);
}
.cnToast[data-type="bad"] .cnToastGlow{
  background:radial-gradient(260px 120px at 32% 52%, rgba(255,107,107,.30), transparent 70%);
}

/* PROGRESS BAR – STRONGER */
.cnToastBar{
  position:absolute;
  left:16px;
  right:16px;
  bottom:10px;

  height:5px;                 /* erősebb */
  border-radius:999px;

  background:rgba(255,255,255,.14);
  overflow:hidden;
}
.cnToastBar > i{
  display:block;
  height:100%;
  width:100%;
  transform-origin:left center;
  transform:scaleX(1);
  filter: drop-shadow(0 0 10px rgba(255,255,255,.10));
}

/* ok green: extra erős + glow */
.cnToast[data-type="ok"] .cnToastBar > i{
  background:linear-gradient(90deg, rgba(80,255,160,1), rgba(80,255,160,.55), rgba(80,255,160,0));
  filter: drop-shadow(0 0 12px rgba(80,255,160,.35));
}
.cnToast[data-type="warn"] .cnToastBar > i{
  background:linear-gradient(90deg, rgba(255,209,102,1), rgba(255,209,102,.55), rgba(255,209,102,0));
  filter: drop-shadow(0 0 12px rgba(255,209,102,.30));
}
.cnToast[data-type="bad"] .cnToastBar > i{
  background:linear-gradient(90deg, rgba(255,107,107,1), rgba(255,107,107,.55), rgba(255,107,107,0));
  filter: drop-shadow(0 0 12px rgba(255,107,107,.30));
}

.cnToast[data-run="1"] .cnToastBar > i{
  transition:transform var(--d,3600ms) linear;
  transform:scaleX(0);
}

/* ================================
   14 Tage (FAGG) – details styling
   FIX: [open] is on <details>, not on wrapper div
================================== */

.cn-consent14d{ margin-top:10px; }

.cn-consent14d__summary{
  cursor:pointer;
  font-weight:950;
  font-size:12px;
  color: rgba(255,255,255,.88);
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(10,16,34,.16);
  list-style:none;
}
.cn-consent14d__summary::-webkit-details-marker{ display:none; }

.cn-consent14d__details[open] .cn-consent14d__summary{
  border-color: rgba(122,162,255,.55);
  box-shadow: 0 0 0 3px rgba(122,162,255,.16);
}

.cn-consent14d__box{
  margin-top:10px;
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
}

.cn-consent14d__text{
  margin:0 0 10px;
  font-size:13px;
  line-height:1.45;
  color: rgba(255,255,255,.74);
}

/* ===== CleanNest – Flatpickr DARK (FINAL) ===== */
html body .flatpickr-calendar{
  background:#0f1724 !important;               /* SÖTÉT ALAP */
  border-radius:14px !important;
  border:1px solid rgba(255,255,255,.08) !important;
  box-shadow:0 20px 60px rgba(0,0,0,.65) !important;
  overflow:hidden !important;
}

html body .flatpickr-months{
  background:#0f1724 !important;
  padding:12px 12px 8px !important;
}

html body .flatpickr-current-month{
  font-size:16px !important;
  font-weight:700 !important;
  color:#fff !important;
}

html body .flatpickr-weekdays{
  background:#0f1724 !important;
  padding:6px 12px 0 !important;
}

html body span.flatpickr-weekday{
  color:rgba(255,255,255,.75) !important;
  font-weight:600 !important;
}

html body .flatpickr-days{
  background:#0f1724 !important;
  padding:10px 12px 14px !important;
}

html body .flatpickr-day{
  color:rgba(255,255,255,.85) !important;
  border-radius:12px !important;
  line-height:40px !important;
  height:40px !important;
  width:40px !important;
  font-weight:600 !important;
}

html body .flatpickr-day:hover{
  background:rgba(255,255,255,.08) !important;
}

html body .flatpickr-day.today{
  border:1px solid rgba(196,155,70,.7) !important;
}

html body .flatpickr-day.selected,
html body .flatpickr-day.startRange,
html body .flatpickr-day.endRange{
  background:#c49b46 !important;   /* CleanNest gold */
  border-color:transparent !important;
  color:#111 !important;
}

html body .flatpickr-day.flatpickr-disabled,
html body .flatpickr-day.disabled{
  opacity:.3 !important;
  cursor:not-allowed !important;
}

/* Mobil */
@media (max-width:520px){
  html body .flatpickr-calendar{
    width:min(390px, calc(100vw - 16px)) !important;
  }
  html body .flatpickr-day{
    line-height:44px !important;
    height:44px !important;
    max-width:44px !important;
  }
}

.cn-coupon-locked{
  background:#f3f7fb;
  color:#0a4b83;
  border:2px dashed rgba(15,111,194,.28);
  font-weight:700;
  cursor:not-allowed;
}