/* v1.2.3: close controls sit in their own rail above cards and never cover brand/text. */
.kbcc-dismissible-card{
  overflow:visible;
  margin-top:43px;
  isolation:isolate;
}
.kbcc-dismissible-card .kbcc-brand-strip{
  padding-right:13px;
  border-radius:17px 17px 0 0;
}
.kbcc-dismiss{
  top:-38px;
  right:12px;
  left:auto;
  width:31px;
  height:31px;
  border:2px solid #fff;
  border-radius:11px;
  background:linear-gradient(145deg,var(--kbcc-blue,#0a56f5),var(--kbcc-navy,#071849));
  color:#fff;
  font-size:21px;
  line-height:1;
  box-shadow:0 7px 18px rgba(3,22,76,.28);
  transition:transform .16s ease,box-shadow .16s ease;
}
.kbcc-dismiss:hover,.kbcc-dismiss:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 9px 22px rgba(3,22,76,.36);
}
.kbcc-dismiss:focus-visible{outline:3px solid var(--kbcc-yellow,#ffd400);outline-offset:2px}
.kbcc-float-panel .kbcc-dismissible-card{margin-top:43px}
.kbcc-popup-close{right:9px;left:auto}
.kbcc-popup .kbcc-brand-strip{padding-right:48px;padding-left:13px}

@media(max-width:768px){
  .kbcc-dismissible-card{margin-top:40px}
  .kbcc-dismiss{top:-35px;right:10px;width:30px;height:30px;border-radius:10px}
  .kbcc-float-panel .kbcc-dismissible-card{margin-top:40px}
}

/* v1.2.4: stable mixed Persian/English layout for the bar and card lockup. */
.kbcc-bar-inner{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:5px 11px;
  direction:rtl;
}
.kbcc-bar-brand{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:6px;
  direction:ltr;
  unicode-bidi:isolate;
  white-space:nowrap;
  margin:0!important;
  line-height:1.65;
}
.kbcc-bar-brand-text,.kbcc-bar-birthday,.kbcc-bar-message{
  unicode-bidi:isolate;
}
.kbcc-bar-brand-text{direction:ltr}
.kbcc-bar-birthday,.kbcc-bar-message{direction:rtl}
.kbcc-bar-separator{display:inline-block;opacity:.72;margin:0 1px}
.kbcc-bar a{margin:0!important;unicode-bidi:isolate}

.kbcc-brand-strip{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  grid-template-areas:"mark lockup birthday";
  align-items:center;
  column-gap:10px;
  direction:ltr;
  unicode-bidi:isolate;
}
.kbcc-brand-bag{grid-area:mark}
.kbcc-brand-lockup{
  grid-area:lockup;
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
  direction:ltr;
  unicode-bidi:isolate;
  white-space:nowrap;
}
.kbcc-brand-primary,.kbcc-brand-secondary,.kbcc-brand-snapp,.kbcc-birthday-mini{
  display:inline-flex;
  align-items:center;
  unicode-bidi:isolate;
  white-space:nowrap;
  font-style:normal;
  text-decoration:none;
}
.kbcc-brand-primary{
  color:#fff;
  font-size:13px;
  font-weight:950;
  letter-spacing:.4px;
  direction:ltr;
}
.kbcc-brand-divider{
  color:var(--kbcc-yellow,#ffd400);
  opacity:.9;
  font-size:13px;
  font-weight:900;
}
.kbcc-brand-secondary{
  color:#d9e6ff;
  font-size:9px;
  font-weight:800;
  letter-spacing:.65px;
  direction:ltr;
}
.kbcc-brand-x{flex:0 0 auto;margin:0;line-height:1}
.kbcc-brand-snapp{direction:ltr;flex:0 0 auto}
.kbcc-birthday-mini{
  grid-area:birthday;
  justify-self:end;
  direction:rtl;
  margin:0;
}

@media(max-width:680px){
  .kbcc-bar-inner{gap:4px 8px}
  .kbcc-bar-brand{gap:4px;max-width:100%;font-size:9px}
  .kbcc-bar-message{font-size:11px}
  .kbcc-bar a{display:block;flex-basis:100%;margin-top:1px!important}
  .kbcc-brand-strip{column-gap:7px}
  .kbcc-brand-lockup{gap:5px}
  .kbcc-brand-primary{font-size:10px;letter-spacing:.2px}
  .kbcc-brand-divider{font-size:10px}
  .kbcc-brand-secondary{font-size:7px;letter-spacing:.35px}
}

@media(max-width:420px){
  .kbcc-brand-strip{
    grid-template-columns:auto minmax(0,1fr);
    grid-template-areas:"mark lockup" "birthday birthday";
    row-gap:6px;
  }
  .kbcc-birthday-mini{justify-self:end}
}

/* v1.2.5: clearly separate the second birthday gift and keep the coupon LTR. */
.kbcc-gift-line{
  display:block;
  margin-top:10px;
  padding-top:10px;
  border-top:1px dashed rgba(255,255,255,.22);
  color:#fff;
}
.kbcc-coupon-code{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-right:5px;
  padding:2px 8px;
  border-radius:7px;
  background:var(--kbcc-yellow,#ffd400);
  color:#111;
  direction:ltr;
  unicode-bidi:isolate;
  font-weight:950;
  letter-spacing:.5px;
  user-select:all;
}
