/* ============================================================
   استایل پایه‌ی ویجت رزرو (مشترک بین رزرو روزانه و ساعتی)
   قبلاً به‌صورت inline در فیلد روزانه چاپ می‌شد؛ از نسخه ۲.۵.۰ اینجا منتقل شد.
   ============================================================ */
.gfcb-widget{direction:rtl!important;max-width:480px!important;margin:0 auto!important;
  background:#fff!important;border:1px solid #e6ebf2!important;border-radius:20px!important;
  overflow:hidden!important;box-shadow:0 12px 40px rgba(20,40,80,.08)!important}
.gfcb-widget *{box-sizing:border-box!important}
.gfcb-widget button{all:unset!important;cursor:pointer!important;box-sizing:border-box!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important}


.gfcb-step-dot{display:flex!important;align-items:center!important;gap:6px!important;
  font-size:12px!important;font-weight:700!important;color:#98a6bd!important}
.gfcb-step-dot .num{width:22px!important;height:22px!important;border-radius:50%!important;
  background:#e6ebf2!important;color:#98a6bd!important;display:flex!important;
  align-items:center!important;justify-content:center!important;font-size:12px!important}
.gfcb-step-dot.active{color:var(--gfcb-accent,#2b6ef2)!important}
.gfcb-step-dot.active .num{background:var(--gfcb-accent,#2b6ef2)!important;color:#fff!important}
.gfcb-step-dot.done .num{background:var(--gfcb-success,#0a9f6e)!important;color:#fff!important}


.gfcb-step{display:none!important}
.gfcb-step.active{display:block!important}

.gfcb-head{display:flex!important;gap:12px!important;align-items:center!important;
  padding:18px!important;background:linear-gradient(135deg,var(--gfcb-accent,#2b6ef2),var(--gfcb-accent-hover,#1e59d0))!important;border-bottom:none!important}

.gfcb-head-text{flex:1!important;text-align:right!important}
.gfcb-head-title{font-weight:800!important;color:#fff!important;font-size:16px!important;line-height:1.6!important}
.gfcb-head-sub{color:rgba(255,255,255,.85)!important;font-size:12px!important;margin-top:2px!important}

.gfcb-persons{display:flex!important;justify-content:space-between!important;align-items:center!important;
  padding:12px 18px!important;background:var(--gfcb-bg,#f8fafc)!important;border-bottom:1px solid #eef2f7!important}
.gfcb-persons-label{color:#324158!important;font-size:13px!important;font-weight:600!important}
.gfcb-stepper{display:flex!important;align-items:center!important;gap:10px!important}
.gfcb-stepper button{width:30px!important;height:30px!important;border-radius:8px!important;
  background:#fff!important;border:1px solid #cdd8e8!important;color:var(--gfcb-accent,#2b6ef2)!important;
  font-size:18px!important;font-weight:700!important}
.gfcb-stepper button:hover{background:var(--gfcb-accent,#2b6ef2)!important;color:#fff!important}
.gfcb-qty{min-width:20px!important;text-align:center!important;font-weight:800!important;color:var(--gfcb-text,#16233d)!important}

.gfcb-default-price{text-align:center!important;padding:10px!important;color:#324158!important;
  font-size:13px!important;border-bottom:1px solid #eef2f7!important}
.gfcb-default-price b{color:var(--gfcb-accent,#2b6ef2)!important}

.gfcb-discount-hint{display:flex!important;flex-wrap:wrap!important;gap:6px!important;
  align-items:center!important;padding:10px 14px!important;background:#f0fdf9!important;
  border-bottom:1px solid #d7f5ec!important}
.gfcb-discount-hint.gfcb-hidden{display:none!important}
.gfcb-dh-title{font-size:12px!important;font-weight:800!important;color:var(--gfcb-success,#0a9f6e)!important}
.gfcb-dh-item{font-size:11px!important;background:var(--gfcb-success,#0a9f6e)!important;color:#fff!important;
  padding:3px 8px!important;border-radius:999px!important;font-weight:600!important}

.gfcb-navbar{display:flex;align-items:center!important;justify-content:center!important;
  gap:18px!important;padding:12px!important}
.gfcb-navbar[style*="display:none"],.gfcb-navbar[style*="display: none"]{display:none!important}
.gfcb-navbar button{width:34px!important;height:34px!important;border-radius:9px!important;
  border:1px solid #dbe3ef!important;color:var(--gfcb-accent,#2b6ef2)!important;font-size:20px!important}
.gfcb-navbar button:hover{background:#eef4ff!important}
.gfcb-month{font-weight:800!important;color:var(--gfcb-text,#16233d)!important;min-width:130px!important;text-align:center!important}
.gfcb-navbar button.gfcb-nav-off{opacity:.35!important;cursor:default!important;pointer-events:none!important}
/* جهت درست فلش‌ها در RTL: prev به راست، next به چپ */
.gfcb-navbar .gfcb-prev{font-size:0!important}
.gfcb-navbar .gfcb-next{font-size:0!important}
.gfcb-navbar .gfcb-prev::before{content:'\2039'!important;font-size:20px!important;line-height:1!important}
.gfcb-navbar .gfcb-next::before{content:'\203A'!important;font-size:20px!important;line-height:1!important}

.gfcb-weekdays{display:grid!important;grid-template-columns:repeat(7,1fr)!important;
  gap:6px!important;padding:0 14px 6px!important}
.gfcb-weekdays span{text-align:center!important;color:#98a6bd!important;font-size:12px!important;font-weight:700!important}

.gfcb-grid{display:grid!important;grid-template-columns:repeat(7,1fr)!important;
  gap:6px!important;padding:0 14px 16px!important;min-height:200px!important;
  position:relative!important;z-index:1!important}
.gfcb-loading{grid-column:1/-1!important;text-align:center!important;color:#98a6bd!important;padding:40px 0!important}

.gfcb-day{
    position:relative!important;
    aspect-ratio:auto!important;
    min-height:58px!important;
    overflow:visible!important;
    margin-top:10px!important;
    border:1.5px solid transparent!important;
    border-radius:12px!important;
    background:#f4f7fb!important;
    color:#28374f!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:0px!important;
    padding:6px 2px!important;
    cursor:pointer!important;
    transition:all .12s!important
}
.gfcb-day:hover{
  border-color:color-mix(in srgb, var(--gfcb-select-ring,#2b6ef2) 45%, #fff)!important;
  background:color-mix(in srgb, var(--gfcb-select-ring,#2b6ef2) 5%, #fff)!important;
  box-shadow:0 0 0 2px color-mix(in srgb, var(--gfcb-select-ring,#2b6ef2) 12%, transparent)!important}
.gfcb-day .n{font-size:15px!important;font-weight:800!important;line-height:1.1!important}
.gfcb-day .p{font-size:9px!important;color:var(--gfcb-accent,#2b6ef2)!important;font-weight:600!important;line-height:1.1!important;margin-top:-1px!important}
.gfcb-day .nt{font-size:8px!important;color:#08a5b3!important;max-width:100%!important;
  overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.gfcb-day.sel{border:2px solid var(--gfcb-select-ring,#2b6ef2)!important;
  background:color-mix(in srgb, var(--gfcb-select-ring,#2b6ef2) 8%, #fff)!important;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--gfcb-select-ring,#2b6ef2) 22%, transparent), 0 6px 16px rgba(16,35,61,.10)!important}
.gfcb-day.dis,.gfcb-day.past,.gfcb-day.sold{background:#f0f1f4!important;color:#b4bcca!important;cursor:not-allowed!important}
.gfcb-day.dis:hover,.gfcb-day.past:hover,.gfcb-day.sold:hover{background:#f0f1f4!important}


/* روز تعطیل — راه‌راه نارنجی ملایم */
.gfcb-day.offday{cursor:not-allowed!important;color:#b08a4a!important;
  background:repeating-linear-gradient(45deg,#fff8ef,#fff8ef 5px,#fdefd8 5px,#fdefd8 10px)!important}
.gfcb-day.offday:hover{background:repeating-linear-gradient(45deg,#fff8ef,#fff8ef 5px,#fdefd8 5px,#fdefd8 10px)!important}


.gfcb-tools{display:flex!important;gap:10px!important;justify-content:center!important;
  padding:14px!important;margin-top:8px!important;position:relative!important;z-index:5!important;
  background:#fff!important;border-top:1px solid #eef2f7!important;clear:both!important}
.gfcb-tools button{border:1px solid #dbe3ef!important;color:var(--gfcb-text-soft,#5a6b85)!important;
  border-radius:999px!important;padding:10px 22px!important;font-size:13px!important;
  min-height:40px!important;position:relative!important;z-index:5!important;
  touch-action:manipulation!important;background:#fff!important}
.gfcb-tools button:hover{border-color:var(--gfcb-accent,#2b6ef2)!important;color:var(--gfcb-accent,#2b6ef2)!important}

.gfcb-coupon{padding:12px 18px!important;border-top:1px solid #eef2f7!important;background:#fff!important}
.gfcb-coupon-label{display:block!important;font-size:12px!important;font-weight:700!important;
  color:#324158!important;margin-bottom:6px!important}
.gfcb-coupon-box{display:flex!important;gap:8px!important}
.gfcb-coupon-box input{flex:1!important;border:1px solid #cdd8e8!important;border-radius:10px!important;
  padding:8px 12px!important;font-size:13px!important;direction:ltr!important;text-align:center!important;
  font-family:inherit!important;color:var(--gfcb-text,#16233d)!important;background:var(--gfcb-bg,#f8fafc)!important}
.gfcb-coupon-box button{background:var(--gfcb-accent,#2b6ef2)!important;color:#fff!important;border-radius:10px!important;
  padding:8px 16px!important;font-size:13px!important;font-weight:700!important;flex:0 0 auto!important}
.gfcb-coupon-box button:hover{background:var(--gfcb-accent-hover,#1e59d0)!important}
.gfcb-coupon-clear{background:#fff!important;color:var(--gfcb-day-soldout,#e0345a)!important;border:1px solid #f3c2cd!important;
  border-radius:10px!important;padding:8px 14px!important;font-size:13px!important;font-weight:700!important;flex:0 0 auto!important}
.gfcb-coupon-clear:hover{background:#fdecef!important}
.gfcb-coupon-msg{font-size:12px!important;margin-top:6px!important;min-height:14px!important}
.gfcb-coupon-msg.ok{color:var(--gfcb-success,#0a9f6e)!important}
.gfcb-coupon-msg.err{color:var(--gfcb-day-soldout,#e0345a)!important}
.gfcb-coupon-applied{display:none!important}
.gfcb-coupon-applied.show{display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:8px!important;background:#e6f8f0!important;border:1px solid #b6ead2!important;border-radius:10px!important;
  padding:8px 12px!important;margin-top:6px!important;font-size:13px!important;color:var(--gfcb-success,#0a9f6e)!important;font-weight:700!important}
.gfcb-coupon-applied .code{direction:ltr!important}

.gfcb-summary{padding:16px 18px!important;background:linear-gradient(180deg,#fbfcfe,#f4f7fb)!important;border-top:1px solid #eef2f7!important}
.gfcb-preview-title{font-size:14px!important;font-weight:800!important;color:var(--gfcb-text,#16233d)!important;
  margin-bottom:12px!important;padding-bottom:10px!important;border-bottom:1px solid #e6ebf2!important;
  position:relative!important;padding-inline-start:12px!important}
.gfcb-preview-title::before{content:''!important;position:absolute!important;inset-inline-start:0!important;
  top:1px!important;width:4px!important;height:16px!important;border-radius:4px!important;
  background:linear-gradient(180deg,var(--gfcb-accent,#2b6ef2),var(--gfcb-accent-hover,#1e59d0))!important}
.gfcb-preview-days{display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin-bottom:10px!important}
.gfcb-preview-chip{font-size:11px!important;background:#eef4ff!important;color:var(--gfcb-accent,#2b6ef2)!important;
  padding:4px 10px!important;border-radius:999px!important;font-weight:700!important}
.gfcb-row{display:flex!important;justify-content:space-between!important;align-items:center!important;
  padding:4px 0!important;color:var(--gfcb-text-soft,#5a6b85)!important;font-size:13px!important}
.gfcb-row b{color:var(--gfcb-text,#16233d)!important}
.gfcb-row.gfcb-hidden{display:none!important}
.gfcb-disc-row,.gfcb-disc-row b{color:var(--gfcb-success,#0a9f6e)!important}
.gfcb-coupon-row,.gfcb-coupon-row b{color:var(--gfcb-success,#0a9f6e)!important}
.gfcb-tax-row,.gfcb-tax-row b{color:#c47f17!important}
.gfcb-total-row{border-top:1px dashed #d3dcea!important;margin-top:6px!important;padding-top:10px!important}
.gfcb-total-row span{font-weight:700!important;color:var(--gfcb-text,#16233d)!important}
.gfcb-total-row b{color:var(--gfcb-accent,#2b6ef2)!important;font-size:16px!important}

.gfcb-progress{padding:12px 18px!important;background:#fff!important;border-top:1px solid #eef2f7!important}
.gfcb-progress-text{font-size:12px!important;font-weight:700!important;
  margin-bottom:8px!important;text-align:center!important;transition:color .3s ease!important}
.gfcb-progress-bar{height:9px!important;background:#eef2f7!important;border-radius:999px!important;overflow:hidden!important}
.gfcb-progress-fill{height:100%!important;border-radius:999px!important;transition:width .4s ease,background .4s ease!important}

/* رنگ متن و نوار بر اساس پله‌ی تخفیف فعلی */
.gfcb-progress.tier-0 .gfcb-progress-text{color:#f0862a!important}
.gfcb-progress.tier-0 .gfcb-progress-fill{background:linear-gradient(90deg,#f0b429,#f0862a)!important}
.gfcb-progress.tier-1 .gfcb-progress-text{color:#e0691a!important}
.gfcb-progress.tier-1 .gfcb-progress-fill{background:linear-gradient(90deg,#f0862a,#f4632a)!important}
.gfcb-progress.tier-2 .gfcb-progress-text{color:#d94f8c!important}
.gfcb-progress.tier-2 .gfcb-progress-fill{background:linear-gradient(90deg,#f4632a,#f757c1)!important}
.gfcb-progress.tier-3 .gfcb-progress-text{color:#a259ea!important}
.gfcb-progress.tier-3 .gfcb-progress-fill{background:linear-gradient(90deg,#f757c1,#a259ea)!important}
/* بیشترین تخفیف — سبز درخشان با افکت */
.gfcb-progress.tier-max .gfcb-progress-text{color:var(--gfcb-success,#0a9f6e)!important;font-weight:800!important}
.gfcb-progress.tier-max .gfcb-progress-fill{
  background:linear-gradient(90deg,var(--gfcb-success,#0a9f6e),#0bb37c,#47e6c1)!important;
  box-shadow:0 0 12px rgba(11,179,124,.5)!important}

.gfcb-step-nav{display:flex!important;gap:10px!important;padding:16px 18px!important;
  border-top:1px solid #eef2f7!important;background:#fff!important;align-items:stretch!important}
.gfcb-step-nav button{flex:1!important;border-radius:14px!important;padding:14px 18px!important;
  font-size:14px!important;font-weight:800!important;gap:6px!important;transition:all .15s ease!important}

.gfcb-step-nav .gfcb-next-step,
.gfcb-step-nav .gfcb-info-next{background:linear-gradient(135deg,var(--gfcb-accent,#2b6ef2),var(--gfcb-accent-hover,#1e59d0))!important;color:#fff!important;
  box-shadow:0 6px 18px rgba(43,110,242,.28)!important}
.gfcb-step-nav .gfcb-next-step:hover,
.gfcb-step-nav .gfcb-info-next:hover{transform:translateY(-1px)!important;box-shadow:0 8px 22px rgba(43,110,242,.36)!important}
.gfcb-step-nav .gfcb-next-step.disabled{background:#e6ebf2!important;color:#a9b6cc!important;
  box-shadow:none!important;cursor:not-allowed!important;transform:none!important}

.gfcb-step-nav .gfcb-back-step,
.gfcb-step-nav .gfcb-info-back{background:#f4f7fb!important;color:var(--gfcb-text-soft,#5a6b85)!important;border:1px solid #e0e7f1!important;
  flex:0 0 38%!important}
.gfcb-step-nav .gfcb-back-step:hover,
.gfcb-step-nav .gfcb-info-back:hover{background:#eaf1ff!important;color:var(--gfcb-accent,#2b6ef2)!important;border-color:#c3d6f7!important}

.gfcb-step-nav .gfcb-pay-btn{flex:1!important;background:linear-gradient(135deg,var(--gfcb-success,#0a9f6e),#0bb37c)!important;color:#fff!important;
  box-shadow:0 6px 18px rgba(10,159,110,.3)!important}
.gfcb-step-nav .gfcb-pay-btn:hover{transform:translateY(-1px)!important;box-shadow:0 8px 22px rgba(10,159,110,.4)!important}
.gfcb-step-nav .gfcb-pay-btn .amt{font-weight:900!important;margin-inline-start:4px!important}
.gfcb-step-nav .gfcb-info-back.gfcb-hidden,
.gfcb-step-nav .gfcb-cal-back.gfcb-hidden,
.gfcb-step-nav .gfcb-back-step.gfcb-hidden{display:none!important}

.gfcb-msg{padding:8px 18px!important;font-size:12px!important;text-align:center!important;min-height:16px!important}
.gfcb-msg.ok{color:var(--gfcb-success,#0a9f6e)!important}
.gfcb-msg.err{color:var(--gfcb-day-soldout,#e0345a)!important}

.gfcb-error{padding:16px!important;text-align:center!important;
  color:var(--gfcb-text-soft,#5a6b85)!important;border:1px dashed #cdd8e8!important;border-radius:12px!important}
.gfcb-schedule-closed{padding:28px 20px;text-align:center;color:#92400e;
  background:#fffbeb;border:1.5px solid #fde68a;border-radius:14px;font-size:15px;line-height:2;font-weight:700}

/* ============================================================
   نمای هفتگی رزرو ساعتی — سبک تقویم تمیز (بازطراحی v2.5)
   ============================================================ */
.gfcb-week-nav{display:flex!important;align-items:center!important;
  justify-content:center!important;gap:12px!important;padding:12px 14px 8px!important}


/* ستون روزهای هفته (سمت راست) */
.gfcb-day-chip{
    position:relative!important;
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
    gap:2px!important;
    width:100%!important;min-height:66px!important;
    border:1.5px solid #e2e8f0!important;border-radius:14px!important;
    background:#fff!important;cursor:pointer!important;
    transition:all .15s ease!important;padding:8px 4px!important;
}
.gfcb-day-chip:hover{border-color:#93c5fd!important}
.gfcb-day-chip.active{border-color:var(--gfcb-accent,#2b6ef2)!important;background:#eff5ff!important;box-shadow:0 4px 12px rgba(43,110,242,.15)!important}
.gfcb-day-chip.off{opacity:.5!important;cursor:not-allowed!important;background:var(--gfcb-bg,#f8fafc)!important}
.gfcb-day-chip .dc-week{font-size:13px!important;font-weight:800!important;color:var(--gfcb-text,#16233d)!important}
.gfcb-day-chip .dc-num{font-size:18px!important;font-weight:900!important;color:var(--gfcb-accent,#2b6ef2)!important;line-height:1.1!important}
.gfcb-day-chip .dc-month{font-size:11px!important;color:#8a97ab!important}
.gfcb-day-chip .dc-badge{position:absolute!important;top:-8px!important;inset-inline-end:6px!important;font-size:10px!important;font-weight:800!important;padding:2px 8px!important;border-radius:999px!important;color:#fff!important}
    .gfcb-day-chip .dc-badge.off{background:var(--gfcb-day-off,#c47f17)!important}
    .gfcb-day-chip .dc-badge.sp{background:var(--gfcb-unit-special,#f59e0b)!important}
    .gfcb-day-chip .dc-badge.official{background:var(--gfcb-day-holiday,#7f1d3a)!important;color:#fff!important}
    .gfcb-day-chip .dc-badge.dis{background:var(--gfcb-day-disabled,#9aa7bd)!important;color:#fff!important}

/* شبکه‌ی کارت‌های ساعت (سمت چپ) */
.gfcb-slot-cell{
    position:relative!important;
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
    gap:4px!important;
    min-height:72px!important;
    border:1.5px solid #e2e8f0!important;border-radius:14px!important;
    background:#fff!important;cursor:pointer!important;
    transition:all .15s ease!important;padding:8px 6px!important;
}
.gfcb-slot-cell:hover{border-color:#93c5fd!important}
.gfcb-slot-cell.sel{border-color:var(--gfcb-accent,#2b6ef2)!important;background:#eff5ff!important;box-shadow:0 4px 12px rgba(43,110,242,.15)!important}
.gfcb-slot-cell.past,.gfcb-slot-cell.off,.gfcb-slot-cell.offday,.gfcb-slot-cell.sold{opacity:.45!important;cursor:not-allowed!important;background:var(--gfcb-bg,#f8fafc)!important}
.gfcb-slot-cell .gfcb-hour-time{font-size:15px!important;font-weight:900!important;color:var(--gfcb-text,#16233d)!important;direction:ltr!important}
.gfcb-slot-cell .gfcb-hour-meta{display:flex!important;flex-direction:column!important;align-items:center!important;gap:2px!important;font-size:12px!important;color:var(--gfcb-text-soft,#5a6b85)!important}
.gfcb-slot-cell .gfcb-avail{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:20px!important;height:20px!important;border-radius:50%!important;background:#dcfce7!important;color:#16a34a!important;font-size:11px!important;font-weight:800!important;position:absolute!important;bottom:6px!important;inset-inline-start:6px!important}
.gfcb-week-label{font-weight:800!important;color:var(--gfcb-text,#16233d)!important}
.gfcb-sel-summary{margin-top:18px!important;padding:10px 14px!important;font-size:13px!important;color:var(--gfcb-text-soft,#5a6b85)!important;text-align:center!important}
.gfcb-prev-week,.gfcb-next-week{border:1px solid #cdd8e8!important;background:#fff!important;border-radius:10px!important;padding:6px 14px!important;cursor:pointer!important;font-size:13px!important}
.gfcb-widget-hourly .gfcb-week-nav button{width:32px!important;height:32px!important;
  border-radius:9px!important;border:1px solid #dbe3ef!important;color:var(--gfcb-accent,#2b6ef2)!important;font-size:20px!important}
.gfcb-widget-hourly .gfcb-week-nav button:hover{background:#eef4ff!important}
.gfcb-week-chip{padding:8px 18px!important;border:1px solid #e0e7f1!important;border-radius:999px!important;
  background:var(--gfcb-bg,#f8fafc)!important;font-weight:800!important;color:var(--gfcb-text,#16233d)!important;font-size:13px!important;
  min-width:150px!important;text-align:center!important}



.gfcb-cal-body{position:relative!important}
.gfcb-slot-loading{text-align:center!important;color:#98a6bd!important;padding:48px 0!important}


.gfcb-slot-cell{position:relative!important;border-inline-start:1px solid #f1f4f9!important;
  cursor:pointer!important;transition:background .1s!important;min-height:34px!important}
.gfcb-slot-cell:first-child{border-inline-start:none!important}

/* آزاد: خالی و آرام */
.gfcb-slot-cell.free{background:#fff!important}
.gfcb-slot-cell.free:hover{background:#eef4ff!important;box-shadow:inset 0 0 0 1.5px #c3d6f7!important}

/* اسلات انتخاب‌شده — طراحی «قرص» با گرادیان و تیک */
.gfcb-slot-cell.sel{position:relative!important}
.gfcb-slot-cell.sel::after{content:''!important;position:absolute!important;inset:2px 4px!important;
  background:linear-gradient(135deg,var(--gfcb-accent,#2b6ef2),var(--gfcb-accent-hover,#1e59d0))!important;
  box-shadow:0 2px 8px rgba(43,110,242,.28)!important}
/* گوشه‌ها بر اساس موقعیت در زنجیره */
.gfcb-slot-cell.sel.single::after{border-radius:8px!important}
.gfcb-slot-cell.sel.edge-top::after{border-top-left-radius:8px!important;border-top-right-radius:8px!important;inset:2px 4px 0!important}
.gfcb-slot-cell.sel.edge-bottom::after{border-bottom-left-radius:8px!important;border-bottom-right-radius:8px!important;inset:0 4px 2px!important}
.gfcb-slot-cell.sel.mid::after{border-radius:0!important;inset:0 4px!important}
/* تیک سفید روی همه‌ی اسلات‌های انتخاب‌شده */
.gfcb-slot-cell.sel::before{content:'✓'!important;position:absolute!important;z-index:2!important;
  top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;
  color:#fff!important;font-size:13px!important;font-weight:900!important}
.gfcb-slot-cell.sel:hover::after{filter:brightness(1.05)!important}

/* تکمیل: راه‌راه قرمزِ ملایم */
.gfcb-slot-cell.sold{cursor:not-allowed!important;
  background:repeating-linear-gradient(45deg,#fdf0f3,#fdf0f3 5px,#fbe3e9 5px,#fbe3e9 10px)!important}

/* غیرفعال/گذشته: راه‌راه خاکستری */
.gfcb-slot-cell.off,.gfcb-slot-cell.past{cursor:not-allowed!important;
  background:repeating-linear-gradient(45deg,#f6f8fb,#f6f8fb 5px,#eef1f6 5px,#eef1f6 10px)!important}


.gfcb-lg{display:flex!important;align-items:center!important;gap:5px!important;font-size:11px!important;color:var(--gfcb-text-soft,#5a6b85)!important;font-weight:600!important}
.gfcb-lg i{width:14px!important;height:14px!important;border-radius:4px!important;display:inline-block!important}
.gfcb-lg .lg-free{background:#fff!important;border:1px solid #dbe3ef!important}
.gfcb-lg .lg-sel{background:var(--gfcb-accent,#2b6ef2)!important}
.gfcb-lg .lg-sold{background:repeating-linear-gradient(45deg,#fdf0f3,#fdf0f3 3px,#fbe3e9 3px,#fbe3e9 6px)!important;border:1px solid #f3c2cd!important}
.gfcb-lg .lg-off{background:repeating-linear-gradient(45deg,#f6f8fb,#f6f8fb 3px,#eef1f6 3px,#eef1f6 6px)!important;border:1px solid #e0e7f1!important}

/* اسکرول‌بار ظریف */
.gfcb-cal-scroll::-webkit-scrollbar{width:8px!important}
.gfcb-cal-scroll::-webkit-scrollbar-thumb{background:#cdd8e8!important;border-radius:999px!important}
.gfcb-cal-scroll::-webkit-scrollbar-track{background:transparent!important}
/* ============================================================
   رزرو دوره‌ای (هفتگی/ماهانه — فاز ۴) — لیست کارت‌ها
   ============================================================ */
.gfcb-tier-select{padding:12px 18px!important;background:var(--gfcb-bg,#f8fafc)!important;border-bottom:1px solid #eef2f7!important}
.gfcb-tier-select-label{display:block!important;font-size:12px!important;font-weight:700!important;color:#324158!important;margin-bottom:6px!important}
.gfcb-tier-picker{width:100%!important;border:1px solid #cdd8e8!important;border-radius:10px!important;
  padding:10px 12px!important;font-size:13px!important;font-family:inherit!important;color:var(--gfcb-text,#16233d)!important;
  background:#fff!important;font-weight:700!important}

.gfcb-period-list{padding:14px!important;display:flex!important;flex-direction:column!important;gap:8px!important;min-height:120px!important}

.gfcb-period-card{display:flex!important;align-items:center!important;gap:12px!important;
  border:1.5px solid #e6ebf2!important;border-radius:14px!important;padding:12px 14px!important;
  background:#fff!important;cursor:pointer!important;transition:all .12s!important}
.gfcb-period-card:hover{border-color:#c3d6f7!important;background:#f8fbff!important}
.gfcb-period-card.sel{border-color:var(--gfcb-accent,#2b6ef2)!important;background:#eaf1ff!important;box-shadow:0 4px 14px rgba(43,110,242,.16)!important}
.gfcb-period-card.sold{cursor:not-allowed!important;opacity:.6!important;
  background:repeating-linear-gradient(45deg,#f6f8fb,#f6f8fb 6px,#eef1f6 6px,#eef1f6 12px)!important}

.gfcb-period-check{width:26px!important;height:26px!important;border-radius:8px!important;flex:0 0 auto!important;
  border:1.5px solid #cdd8e8!important;background:#fff!important;display:flex!important;
  align-items:center!important;justify-content:center!important;transition:all .12s!important}
.gfcb-period-check span{color:transparent!important;font-size:15px!important;font-weight:900!important}
.gfcb-period-card.sel .gfcb-period-check{background:var(--gfcb-accent,#2b6ef2)!important;border-color:var(--gfcb-accent,#2b6ef2)!important}
.gfcb-period-card.sel .gfcb-period-check span{color:#fff!important}

.gfcb-period-info{flex:1!important;display:flex!important;flex-direction:column!important;gap:3px!important;text-align:right!important}
.gfcb-period-label{font-size:14px!important;font-weight:800!important;color:var(--gfcb-text,#16233d)!important}
.gfcb-period-status{font-size:11px!important;font-weight:700!important}
    .gfcb-period-status.free{color:var(--gfcb-success,#0a9f6e)!important}
    .gfcb-period-status.sold{color:var(--gfcb-day-soldout,#e0345a)!important}
    .gfcb-period-status.official{color:var(--gfcb-day-holiday,#7f1d3a)!important;font-weight:700!important}
    .gfcb-period-status.dis{color:var(--gfcb-day-disabled,#9aa7bd)!important;font-weight:700!important}
/* دوره‌ی غیرفعال در فرانت */
.gfcb-period-card.disabled{cursor:not-allowed!important;opacity:.6!important;
  background:repeating-linear-gradient(45deg,#f6f8fb,#f6f8fb 6px,#eef1f6 6px,#eef1f6 12px)!important}
.gfcb-period-status.off{color:var(--gfcb-day-soldout,#e0345a)!important;font-weight:700!important}

/* قیمت و توضیح روی کارت دوره */
.gfcb-period-price{display:block!important;font-size:12px!important;color:var(--gfcb-accent,#2b6ef2)!important;font-weight:700!important;margin-top:2px!important}

.gfcb-widget-hourly .gfcb-slot-cell.offday{
    background:repeating-linear-gradient(45deg,#fff5eb,#fff5eb 6px,#ffe8d1 6px,#ffe8d1 12px);
    cursor:not-allowed;opacity:.75;pointer-events:none;
}
/* ===== نمایش موجودی و برچسب ویژه (v2.8.14) ===== */


/* موقعیت و ظاهر عمومی Badgeهای تقویم روزانه */
.gfcb-day .badge{
    position:absolute;
    top:-12px;
    right:-5px;
    left:auto;
    transform:none;
    padding:3px 8px;
    border-radius:999px;
    color:#fff;
    background:#9aa7bd;
    box-shadow:0 2px 5px rgba(0,0,0,.15);
    font-size:10px;
    font-weight:800;
    line-height:1;
    white-space:nowrap;
    z-index:3;
}

/* تعطیل ثابت هفته مانند جمعه؛ بدون تغییر رفتاری یا ابعادی */
.gfcb-day .badge.off{
    background:var(--gfcb-day-off,#c47f17);
}

/* سازگاری با Markupهای قدیمی احتمالی */
.gfcb-day .badge.holiday{
    background:var(--gfcb-day-holiday,#7f1d3a);
    color:#fff;
}

/*
 * برچسب تعطیل رسمی تقویم روزانه.
 *
 * این Selector فقط Markup زیر را هدف می‌گیرد:
 * <span class="badge official">
 *
 * روی badge.off مربوط به جمعه و badge.dis مربوط به
 * غیرفعال دستی هیچ اثری ندارد.
 */
.gfcb-day > .badge.official {
    top: -12px !important;
    right: auto !important;
    left: 50% !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: calc(110%) !important;
    overflow: hidden !important;
    transform: translateX(-50%) !important;
    box-sizing: border-box !important;
    padding: 4px 8px !important;
    border: 1px solid color-mix(
        in srgb,
        var(--gfcb-day-holiday, #7f1d3a) 78%,
        #fff
    ) !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: var(--gfcb-day-holiday, #7f1d3a) !important;
    box-shadow:
        0 2px 6px color-mix(
            in srgb,
            var(--gfcb-day-holiday, #7f1d3a) 34%,
            transparent
        ) !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    z-index: 5 !important;
}

/*
 * ظاهر خود سلول تعطیلی رسمی.
 *
 * این Selector فقط به سلولی اعمال می‌شود که JavaScript آن را
 * به‌صورت تعطیلی رسمی تشخیص داده و کلاس holiday داده باشد.
 */
.gfcb-day.holiday {
    border-color: color-mix(
        in srgb,
        var(--gfcb-day-holiday, #7f1d3a) 52%,
        var(--gfcb-line, #e5e7eb)
    ) !important;
    background: color-mix(
        in srgb,
        var(--gfcb-day-holiday, #7f1d3a) 10%,
        #fff
    ) !important;
}

.gfcb-day.holiday .n {
    color: var(--gfcb-day-holiday, #7f1d3a) !important;
}

/* روز تکمیل‌شده؛ بدون تغییر */
.gfcb-day .badge.sold {
    background: var(--gfcb-day-soldout, #e0345a);
}

/* روز غیرفعال دستی؛ بدون تغییر */
.gfcb-day .badge.dis{
    background:var(--gfcb-day-disabled,#9aa7bd);
}

/* روز ویژه؛ بدون تغییر */
.gfcb-day .badge.sp{
    background:var(--gfcb-unit-special,#f59e0b);
}

/* عدد موجودی روزانه: سمت چپ، کمی پایین‌تر از وسط کادر */
.gfcb-day .gfcb-avail{
    position:absolute;
    top:75%;left:-5px;
    min-width:18px;height:18px;padding:0 4px;
    display:inline-flex;align-items:center;justify-content:center;
    font-size:10px;font-weight:800;line-height:1;border-radius:999px;
    background:#e6f8f0;color:var(--gfcb-success,#0a9f6e);border:1.5px solid #fff;
    box-shadow:0 1px 3px rgba(0,0,0,.12);
    z-index:2;
}

/* ساعتی: عدد ریز — سمت چپ، کمی پایین‌تر از وسط سلول */
.gfcb-widget-hourly .gfcb-slot-cell{position:relative;overflow:visible;}
.gfcb-widget-hourly .gfcb-slot-cell.free .gfcb-slot-avail{
    position:absolute !important;
    top:90% !important;
    left:-3px !important;
    right:auto !important;
    transform:translateY(-50%) !important;
    font-size:9px;font-weight:800;line-height:1;
    color:#fff;background:var(--gfcb-success,#0a9f6e);border-radius:999px;padding:1px 5px;
    box-shadow:0 1px 2px rgba(0,0,0,.15);
    pointer-events:none;z-index:2;
}
.gfcb-widget-hourly .gfcb-slot-cell.sel .gfcb-slot-avail{opacity:.4;}

.gfcb-my-cancellation-policy {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 10px 0;
    padding: 11px 13px;
    border: 1px solid #f3d18a;
    border-radius: 10px;
    color: #854d0e;
    background: #fffbeb;
}

.gfcb-my-cancellation-policy .dashicons {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    margin-top: 2px;
    font-size: 18px;
}

.gfcb-my-cancellation-policy p {
    margin: 0;
    font-size: 11px;
    line-height: 1.9;
}

.gfcb-my-request-reopened {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(99, 102, 241, 0.15);
}

.gfcb-my-request-reopened-head {
    display: grid;
    gap: 3px;
    margin-bottom: 9px;
}

.gfcb-my-request-reopened-head strong {
    color: #3730a3;
    font-size: 12px;
}

.gfcb-my-request-reopened-head span {
    color: #64748b;
    font-size: 10px;
}

.gfcb-my-request-followup-form {
    display: grid;
    gap: 8px;
}

.gfcb-my-request-followup-form textarea {
    width: 100%;
    max-width: none;
    border: 1px solid #c7d2fe;
    border-radius: 9px;
    box-shadow: none;
}

.gfcb-my-request-followup-form button {
    justify-self: start;
    min-height: 37px;
    padding: 5px 15px;
    border: 0;
    border-radius: 8px;
    color: #fff;
    background: #5b61f4;
    font-weight: 700;
    cursor: pointer;
}



/* موبایل: کادر بلندتر و فضای بیشتر */
@media (max-width:600px){
    .gfcb-day{
        min-height:40px!important;
        margin-top:10px!important;
        border-radius:9px!important;
        padding:5px 2px 2px!important;
        gap:0!important;
    }

    .gfcb-day .n{
        font-size:13px!important;
        line-height:.3!important;
        margin-top:1px!important;
    }

    .gfcb-day .p{
        font-size:7.5px!important;
        line-height:.9!important;
        margin-top:-4px!important;
    }

    .gfcb-day .badge{
        top:-10px;
        right:-5px;
        padding:2px 6px;
        font-size:8px;
    }

    /*
     * برچسب تعطیلی رسمی در موبایل حداکثر به اندازه
     * عرض همان سلول روز نمایش داده می‌شود.
     */
    .gfcb-day > .badge.official {
        top: -11px !important;
        right: auto !important;
        left: 50% !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: calc(110%) !important;
        min-height: 17px !important;
        max-height: 28px !important;
        overflow: hidden !important;
        transform: translateX(-50%) !important;
        padding: 3px 5px !important;
        border-width: 1px !important;
        font-size: 8px !important;
        line-height: 1.25 !important;
        text-align: center !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        z-index: 6 !important;
    }

    .gfcb-day .gfcb-avail{
        min-width:13px;
        height:13px;
        padding:0 3px;
        top:77%;
        left:-4px;
        font-size:8px;
    }
}

/* ============================================================
   GFCB v2.8.34 — fixed/tiered shared UI
   ============================================================ */



.gfcb-widget .gfcb-period-persons {
    margin-bottom: 14px !important;
}

.gfcb-widget .gfcb-summary .gfcb-row .gfcb-qty-lbl {
    white-space: nowrap !important;
}


.gfcb-widget .gfcb-period-card .gfcb-period-info {
    min-width: 0 !important;
}

.gfcb-widget .gfcb-period-card .gfcb-period-label {
    overflow-wrap: anywhere !important;
}
/* GFCB hotfix: daily next button must stay clickable when JS says it is valid */
.gfcb-widget:not(.gfcb-widget-hourly):not(.gfcb-widget-period) .gfcb-next-step {
    pointer-events: auto !important;
}

.gfcb-widget:not(.gfcb-widget-hourly):not(.gfcb-widget-period) .gfcb-next-step:not(.disabled) {
    opacity: 1 !important;
    cursor: pointer !important;
}
/* ===== حالت پله‌ای فرانت: مخفی‌سازی مطمئن + دیزاین باکس انتخاب پله ===== */
.gfcb-widget .gfcb-persons.gfcb-hidden{display:none!important}
.gfcb-widget .gfcb-tier-select.gfcb-hidden{display:none!important}

/* ============================================================
   GFCB v2.8.55 — استایل مدرن باکس انتخاب پله (فرانت)
   ============================================================ */


.gfcb-widget .gfcb-tier-select .gfcb-tier-select-label::before{
    content:"" !important;
    display:inline-block !important;
    width:6px !important;height:18px !important;
    border-radius:3px !important;
    background:linear-gradient(180deg,var(--gfcb-accent,#2b6ef2),#1e50c8) !important;
}
.gfcb-widget .gfcb-tier-select .gfcb-tier-picker{
    display:block !important;
    width:100% !important;
    min-height:52px !important;
    padding:14px 44px 14px 16px !important;
    border:2px solid #d3e0f5 !important;
    border-radius:14px !important;
    background:#fff !important;
    color:var(--gfcb-text,#16233d) !important;
    font-size:15px !important;
    font-weight:800 !important;
    font-family:inherit !important;
    direction:rtl !important;
    text-align:right !important;
    box-sizing:border-box !important;
    cursor:pointer !important;
    outline:none !important;
    -webkit-appearance:none !important;-moz-appearance:none !important;appearance:none !important;
    background-image:url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D'14'%20height%3D'9'%20viewBox%3D'0%200%2014%209'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M1%201.5l6%206%206-6'%20stroke%3D'%232b6ef2'%20stroke-width%3D'2.2'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%2F%3E%3C%2Fsvg%3E") !important;
    background-repeat:no-repeat !important;
    background-position:left 16px center !important;
    box-shadow:0 2px 8px rgba(43,110,242,.08) !important;
    transition:all .18s ease !important;
}
.gfcb-widget .gfcb-tier-select .gfcb-tier-picker:hover{
    border-color:#9dbdf0 !important;
    box-shadow:0 4px 14px rgba(43,110,242,.14) !important;
    transform:translateY(-1px) !important;
}
.gfcb-widget .gfcb-tier-select .gfcb-tier-picker:focus{
    border-color:var(--gfcb-accent,#2b6ef2) !important;
    box-shadow:0 0 0 4px rgba(43,110,242,.15) !important;
}
.gfcb-widget .gfcb-tier-select .gfcb-tier-picker option{
    font-size:14px !important;
    font-weight:700 !important;
    color:var(--gfcb-text,#16233d) !important;
    padding:10px !important;
}
/* ============================================================
   GFCB v2.8.55 — استایل مدرن و قطعی باکس انتخاب پله (فرانت)
   ============================================================ */
.gfcb-widget .gfcb-tier-select{
    display:block;
    margin:0 !important;
    padding:18px !important;
    background:linear-gradient(135deg,#eff5ff 0%,#f8faff 100%) !important;
    border:none !important;
    border-bottom:1px solid #e6edf8 !important;
    border-radius:0 !important;
    box-sizing:border-box !important;
    direction:rtl !important;
    text-align:right !important;
}
.gfcb-widget .gfcb-tier-select .gfcb-tier-select-label{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    margin:0 0 12px !important;
    padding:0 !important;
    font-size:14px !important;
    font-weight:800 !important;
    color:#1e3a5f !important;
    line-height:1.4 !important;
}
.gfcb-widget .gfcb-tier-select .gfcb-tier-select-label::before{
    content:"" !important;
    display:inline-block !important;
    width:5px !important;height:18px !important;
    border-radius:3px !important;
    background:linear-gradient(180deg,var(--gfcb-accent,#2b6ef2),#1e50c8) !important;
    flex:0 0 auto !important;
}
.gfcb-widget .gfcb-tier-select .gfcb-tier-picker{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-height:54px !important;
    height:auto !important;
    margin:0 !important;
    padding:15px 46px 15px 18px !important;
    border:2px solid #d3e0f5 !important;
    border-radius:14px !important;
    background-color:#fff !important;
    color:var(--gfcb-text,#16233d) !important;
    font-size:15px !important;
    font-weight:800 !important;
    font-family:inherit !important;
    line-height:1.5 !important;
    direction:rtl !important;
    text-align:right !important;
    text-align-last:right !important;
    box-sizing:border-box !important;
    cursor:pointer !important;
    outline:none !important;
    -webkit-appearance:none !important;-moz-appearance:none !important;appearance:none !important;
    background-image:url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D'14'%20height%3D'9'%20viewBox%3D'0%200%2014%209'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M1%201.5l6%206%206-6'%20stroke%3D'%232b6ef2'%20stroke-width%3D'2.2'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%2F%3E%3C%2Fsvg%3E") !important;
    background-repeat:no-repeat !important;
    background-position:left 18px center !important;
    box-shadow:0 2px 10px rgba(43,110,242,.10) !important;
    transition:all .18s ease !important;
}
.gfcb-widget .gfcb-tier-select .gfcb-tier-picker:hover{
    border-color:#9dbdf0 !important;
    box-shadow:0 6px 18px rgba(43,110,242,.16) !important;
    transform:translateY(-1px) !important;
}
.gfcb-widget .gfcb-tier-select .gfcb-tier-picker:focus{
    border-color:var(--gfcb-accent,#2b6ef2) !important;
    box-shadow:0 0 0 4px rgba(43,110,242,.16) !important;
}
.gfcb-widget .gfcb-tier-select .gfcb-tier-picker option{
    font-size:14px !important;
    font-weight:700 !important;
    color:var(--gfcb-text,#16233d) !important;
    padding:12px !important;
    direction:rtl !important;
}

/* ============================================================
   GFCB v2.8.56 — ناحیه ثابت قیمت پله‌ای اختصاصی
   ============================================================ */
.gfcb-widget .gfcb-custom-prices{
    margin:0 16px 12px !important;
    padding:14px 16px !important;
    background:linear-gradient(135deg,#fff7ed 0%,#fffbf5 100%) !important;
    border:1px solid #fde3c4 !important;
    border-radius:14px !important;
    box-shadow:0 1px 3px rgba(180,120,30,.06) !important;
    direction:rtl !important;
    text-align:right !important;
    box-sizing:border-box !important;
}
.gfcb-widget .gfcb-custom-prices .gfcb-cp-title{
    display:flex !important;
    align-items:center !important;
    gap:6px !important;
    margin:0 0 10px !important;
    font-size:12.5px !important;
    font-weight:800 !important;
    color:#b45309 !important;
}
.gfcb-widget .gfcb-custom-prices .gfcb-cp-title::before{
    content:"🏷️" !important;
    font-size:14px !important;
}
.gfcb-widget .gfcb-custom-prices .gfcb-cp-row{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    padding:8px 12px !important;
    margin-top:6px !important;
    background:#fff !important;
    border:1px solid #f3e2cd !important;
    border-radius:10px !important;
}
.gfcb-widget .gfcb-custom-prices .gfcb-cp-label{
    font-size:13px !important;
    font-weight:700 !important;
    color:#4a3620 !important;
}
.gfcb-widget .gfcb-custom-prices .gfcb-cp-price{
    font-size:13px !important;
    font-weight:800 !important;
    color:#c2410c !important;
    white-space:nowrap !important;
}

/* ============================================================
   استایل تقویم دوره‌ای (هفتگی/ماهانه) — سبک ب: لیست افقی تمیز
   این بلوک، بلوک شبکه‌ای قبلی را هم خنثی می‌کند.
   ============================================================ */
.gfcb-widget .gfcb-period-list{
    display:grid !important;
    grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)) !important;
    gap:8px !important;
    padding:12px !important;
}
/* ماهانه و هفتگی: گرید ثابت ۳ ستونه تا کارت‌ها در ردیف‌های منظم بچینند. */
.gfcb-widget[data-period-type="monthly"] .gfcb-period-list,
.gfcb-widget[data-period-type="weekly"] .gfcb-period-list{
    grid-template-columns:repeat(3, 1fr) !important;
}
.gfcb-widget .gfcb-period-card{
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:6px !important;
    border:1.5px solid #e8edf4 !important;
    border-radius:14px !important;
    padding:14px 12px 11px !important;
    background:#fff !important;
    box-shadow:0 1px 3px rgba(16,35,61,.05) !important;
    min-height:82px !important;
    overflow:visible !important;
    transition:border-color .14s ease, box-shadow .14s ease, background .14s ease, transform .14s ease !important;
}
/* برچسب ویژه به‌صورت badge شناور است و فضای اضافه‌ای نمی‌گیرد */
.gfcb-widget .gfcb-period-card.has-note{ padding-top:18px !important; }
.gfcb-widget .gfcb-period-card::before{ display:none !important; content:none !important; }
.gfcb-widget .gfcb-period-card:hover{
    border-color:color-mix(in srgb, var(--gfcb-select-ring,#2b6ef2) 45%, #fff) !important;
    box-shadow:0 0 0 2px color-mix(in srgb, var(--gfcb-select-ring,#2b6ef2) 12%, transparent), 0 4px 12px rgba(16,35,61,.07) !important;
    background:color-mix(in srgb, var(--gfcb-select-ring,#2b6ef2) 5%, #fff) !important;
    transform:translateY(-1px) !important;
}
.gfcb-widget .gfcb-period-card.sel{
    border:2px solid var(--gfcb-select-ring,#2b6ef2) !important;
    background:color-mix(in srgb, var(--gfcb-select-ring,#2b6ef2) 8%, #fff) !important;
    box-shadow:0 0 0 3px color-mix(in srgb, var(--gfcb-select-ring,#2b6ef2) 22%, transparent), 0 6px 16px rgba(16,35,61,.10) !important;
}
/* چک‌باکس حذف شد؛ انتخاب با حاله‌ی دور واحد (مثل تقویم روزانه) نشان داده می‌شود */
.gfcb-widget .gfcb-period-check{
    display:none !important;
}
/* بخش اطلاعات */
.gfcb-widget .gfcb-period-info{
    flex:1 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:5px !important;
    text-align:right !important;
    min-width:0 !important;
    width:100% !important;
}
.gfcb-widget .gfcb-period-label{
    font-size:13px !important;
    font-weight:800 !important;
    color:#0f1e38 !important;
    line-height:1.5 !important;
    width:100% !important;
}
/* موجودی: برچسب کوچک رنگی (مثل daily) */
.gfcb-widget .gfcb-period-status{
    display:inline-flex !important;
    align-items:center !important;
    font-size:10px !important;
    font-weight:800 !important;
    padding:1px 7px !important;
    border-radius:999px !important;
    width:fit-content !important;
    line-height:1.7 !important;
}
.gfcb-widget .gfcb-period-status.free{ color:#0a7f57 !important; background:#e7f7ef !important; }
    .gfcb-widget .gfcb-period-status.sold{ color:var(--gfcb-day-soldout,#c0294a) !important; background:#fdecef !important; }
    .gfcb-widget .gfcb-period-status.official{ color:var(--gfcb-day-holiday,#7f1d3a) !important; background:#fdecef !important; }
    .gfcb-widget .gfcb-period-status.dis,
    .gfcb-widget .gfcb-period-status.off{ color:var(--gfcb-day-disabled,#6b7280) !important; background:#f1f3f6 !important; }
/* قیمت: برجسته */
.gfcb-widget .gfcb-period-price{
    display:inline-block !important;
    margin-top:auto !important;
    font-size:12.5px !important;
    font-weight:900 !important;
    color:var(--gfcb-accent,#2b6ef2) !important;
}
.gfcb-widget .gfcb-period-note{
    position:absolute !important;
    top:-10px !important;
    inset-inline-end:8px !important;
    inset-inline-start:auto !important;
    display:inline-flex !important;
    align-items:center !important;
    max-width:60% !important;
    font-size:9.5px !important;
    font-weight:800 !important;
    line-height:1.6 !important;
    padding:2px 9px !important;
    border-radius:999px !important;
    text-align:center !important;
    color:#fff !important;
    background:var(--gfcb-unit-special,#f59e0b) !important;
    box-shadow:0 2px 6px rgba(16,35,61,.18) !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    z-index:2 !important;
}
/* نشانگر جزئی تعطیلی مناسبتی هفته */
.gfcb-widget .gfcb-period-holiday{
    position:absolute !important;
    bottom:8px !important;
    inset-inline-end:8px !important;
    inset-inline-start:auto !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:5px !important;
    max-width:60% !important;
    font-size:9px !important;
    font-weight:800 !important;
    padding:2px 8px !important;
    border-radius:999px !important;
    color:var(--gfcb-day-holiday,#7f1d3a) !important;
    background:linear-gradient(180deg,#fdeef2,#fbe3ea) !important;
    border:1px solid rgba(127,29,58,.12) !important;
    box-shadow:0 2px 6px rgba(127,29,58,.12) !important;
    line-height:1.6 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    z-index:2 !important;
}
.gfcb-widget .gfcb-period-holiday::before{
    content:'' !important;
    width:6px !important;
    height:6px !important;
    border-radius:50% !important;
    background:var(--gfcb-day-holiday,#c0294a) !important;
    flex:0 0 auto !important;
}
/* حالت‌های غیرفعال/تکمیل */
.gfcb-widget .gfcb-period-card.disabled,
.gfcb-widget .gfcb-period-card.sold{
    opacity:.6 !important;
    cursor:not-allowed !important;
}
/* رسپانسیو: در موبایل کارت‌ها تک‌ستونه شوند */
@media (max-width:600px){
    .gfcb-widget .gfcb-period-list{
        grid-template-columns:1fr !important;
    }
}
/* ============================================================
   مدل B — تقویم ساعتی: نوار انتخاب روز + لیست عمودی ساعت‌ها (v2.9.34)
   ============================================================ */
.gfcb-widget-hourly .gfcb-cal-vertical{
    display:flex !important;
    flex-direction:column !important;
    gap:14px !important;
    align-items:stretch !important;
    border:0 !important;
    background:transparent !important;
}

/* ستون عمودی انتخاب روز (سمت راست در RTL) */
.gfcb-widget-hourly .gfcb-day-strip{
    display:flex !important;
    flex-direction:row !important;
    gap:10px !important;
    flex:0 0 auto !important;
    width:100% !important;
    max-height:none !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    padding:12px 4px 6px 4px !important;
    scrollbar-width:thin !important;
    scrollbar-color:#cdd8e8 transparent !important;
}
.gfcb-widget-hourly .gfcb-day-strip::-webkit-scrollbar{height:6px !important;}
.gfcb-widget-hourly .gfcb-day-chip{flex:0 0 74px !important;}
.gfcb-widget-hourly .gfcb-day-strip::-webkit-scrollbar{width:6px !important;}
.gfcb-widget-hourly .gfcb-day-strip::-webkit-scrollbar-thumb{background:#cdd8e8 !important;border-radius:999px !important;}
.gfcb-widget-hourly .gfcb-day-strip::-webkit-scrollbar-track{background:transparent !important;}

.gfcb-widget-hourly .gfcb-day-chip{
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:1px !important;
    padding:7px 5px !important;
    border:1.5px solid #e6ebf3 !important;
    border-radius:12px !important;
    background:#fff !important;
    cursor:pointer !important;
    transition:all .15s ease !important;
}
.gfcb-widget-hourly .gfcb-day-chip:not(.active):hover{
  border-color:color-mix(in srgb, var(--gfcb-select-ring,#2b6ef2) 45%, #fff) !important;
  background:color-mix(in srgb, var(--gfcb-select-ring,#2b6ef2) 5%, #fff) !important;
  box-shadow:0 0 0 2px color-mix(in srgb, var(--gfcb-select-ring,#2b6ef2) 12%, transparent) !important;}
.gfcb-widget-hourly .gfcb-day-chip.active{
    border:2px solid var(--gfcb-select-ring,#2b6ef2) !important;
    background:color-mix(in srgb, var(--gfcb-select-ring,#2b6ef2) 8%, #fff) !important;
    box-shadow:0 0 0 3px color-mix(in srgb, var(--gfcb-select-ring,#2b6ef2) 22%, transparent), 0 6px 16px rgba(16,35,61,.10) !important;
}
.gfcb-widget-hourly .gfcb-day-chip.off{
    opacity:.55 !important;cursor:not-allowed !important;
    background:repeating-linear-gradient(45deg,#fafafa,#fafafa 6px,#f1f1f1 6px,#f1f1f1 12px) !important;
}
.gfcb-widget-hourly .gfcb-day-chip .dc-week{font-size:11px !important;color:var(--gfcb-text-soft,#5a6b85) !important;font-weight:800 !important;}
.gfcb-widget-hourly .gfcb-day-chip .dc-num{font-size:16px !important;color:var(--gfcb-text,#16233d) !important;font-weight:900 !important;line-height:1.1 !important;}
.gfcb-widget-hourly .gfcb-day-chip .dc-month{font-size:9px !important;color:#93a1b5 !important;}
.gfcb-widget-hourly .gfcb-day-chip.active .dc-num{color:var(--gfcb-select-ring,#2b6ef2) !important;}
.gfcb-widget-hourly .gfcb-day-chip .dc-badge{
    position:absolute !important;top:-11px !important;right:6px !important;left:auto !important;inset-inline-end:auto !important;
    font-size:9px !important;font-weight:800 !important;padding:1px 6px !important;line-height:1.7 !important;
    border-radius:999px !important;color:#fff !important;background:var(--gfcb-warning,#f59e0b) !important;
    white-space:nowrap !important;max-width:calc(100% - 12px) !important;
    overflow:hidden !important;text-overflow:ellipsis !important;
    box-shadow:0 2px 5px rgba(16,35,61,.16) !important;z-index:3 !important;
}
    .gfcb-widget-hourly .gfcb-day-chip .dc-badge.off{background:var(--gfcb-day-off,#c47f17) !important;}
    .gfcb-widget-hourly .gfcb-day-chip .dc-badge.sp{background:var(--gfcb-unit-special,#f59e0b) !important;}
    .gfcb-widget-hourly .gfcb-day-chip .dc-badge.official{background:var(--gfcb-day-holiday,#7f1d3a) !important;color:#fff !important;}
    .gfcb-widget-hourly .gfcb-day-chip .dc-badge.dis{background:var(--gfcb-day-disabled,#9aa7bd) !important;color:#fff !important;}


/* نشانگر سواپ موبایل: دو فلش لرزان در دو طرف تقویم، فقط در صفحه‌ی کوچک */
/* نشانگر سواپ موبایل: دو فلش متحرک در دو طرف، بدون لرزاندن تقویم */
@media (max-width:480px){
    .gfcb-widget .gfcb-grid,
    .gfcb-widget .gfcb-cal-vertical,
    .gfcb-widget .gfcb-period-list{ position:relative !important; }

    /* فلش چپ (❮) — حرکت به سمت داخل تا هرگز بیرون نزند */
    .gfcb-widget .gfcb-grid::before,
    .gfcb-widget .gfcb-cal-vertical::before,
    .gfcb-widget .gfcb-period-list::before{
        content:'\276F' !important;              /* ❯ */
        position:absolute !important;
        top:50% !important;left:4px !important;right:auto !important;
        width:18px !important;height:24px !important;line-height:24px !important;text-align:center !important;
        margin-top:-12px !important;
        font-size:19px !important;font-weight:900 !important;
        color:var(--gfcb-select-ring,#2b6ef2) !important;
        opacity:.3 !important;
        animation:gfcbSwipeLeft 1.3s ease-in-out infinite !important;
        pointer-events:none !important;
        z-index:2 !important;
    }

    /* فلش راست (❯) — حرکت به سمت داخل تا هرگز بیرون نزند */
    .gfcb-widget .gfcb-grid::after,
    .gfcb-widget .gfcb-cal-vertical::after,
    .gfcb-widget .gfcb-period-list::after{
        content:'\276E' !important;              /* ❮ */
        position:absolute !important;
        top:50% !important;right:4px !important;left:auto !important;
        width:18px !important;height:24px !important;line-height:24px !important;text-align:center !important;
        margin-top:-12px !important;
        font-size:19px !important;font-weight:900 !important;
        color:var(--gfcb-select-ring,#2b6ef2) !important;
        opacity:.3 !important;
        animation:gfcbSwipeRight 1.3s ease-in-out infinite !important;
        pointer-events:none !important;
        z-index:2 !important;
    }
}
@keyframes gfcbSwipeLeft{
    0%,100% { transform:translateX(4px); opacity:.25; }
    50%     { transform:translateX(0);   opacity:.55; }
}
@keyframes gfcbSwipeRight{
    0%,100% { transform:translateX(-4px); opacity:.25; }
    50%     { transform:translateX(0);    opacity:.55; }
}

/* شبکه‌ی افقی ساعت‌ها (سمت چپ) — کاشی‌های wrap */
.gfcb-widget-hourly .gfcb-hour-list{
    flex:1 1 auto !important;
    width:100% !important;
    display:grid !important;
    grid-template-columns:repeat(4, 1fr) !important;
    gap:8px !important;
    align-content:flex-start !important;
    max-height:none !important;
    overflow-y:visible !important;
    padding:10px 4px 4px 4px !important;
    scrollbar-width:thin !important;
    scrollbar-color:#cdd8e8 transparent !important;
}
.gfcb-widget-hourly .gfcb-hour-list::-webkit-scrollbar{width:7px !important;}
.gfcb-widget-hourly .gfcb-hour-list::-webkit-scrollbar-thumb{background:#cdd8e8 !important;border-radius:999px !important;}
.gfcb-widget-hourly .gfcb-hour-list::-webkit-scrollbar-track{background:transparent !important;}
.gfcb-widget-hourly .gfcb-hour-row{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    min-height:76px !important;
    padding:12px 4px 8px !important;
    border:1.5px solid #eef2f7 !important;
    border-radius:12px !important;
    background:#fff !important;
    cursor:pointer !important;
    position:relative !important;
    transition:all .15s ease !important;
    text-align:center !important;
}
.gfcb-widget-hourly .gfcb-hour-row .gfcb-hour-meta{
    display:flex !important;flex-direction:column-reverse !important;align-items:center !important;gap:7px !important;width:100% !important;
}
.gfcb-widget-hourly .gfcb-hour-row .gfcb-hour-meta{
    display:flex !important;flex-direction:column-reverse !important;align-items:center !important;gap:7px !important;width:100% !important;
}
.gfcb-widget-hourly .gfcb-hour-row .gfcb-hour-avail .gfcb-slot-avail{
    display:inline-flex !important;align-items:center !important;justify-content:center !important;
    min-width:22px !important;height:20px !important;padding:0 7px !important;
    border-radius:999px !important;background:#e8f9f1 !important;color:#1f9d63 !important;
    font-size:11px !important;font-weight:900 !important;
}
.gfcb-widget-hourly .gfcb-hour-row .gfcb-hour-price{
    display:inline-flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:3px !important;
    font-size:12px !important;
    font-weight:900 !important;
    color:var(--gfcb-text-soft,#5a6b85) !important;
    white-space:nowrap !important;
}

.gfcb-widget-hourly .gfcb-hour-row .gfcb-hour-price.is-special .gfcb-hour-price-val{
    color:var(--gfcb-text,#16233d) !important;
}

.gfcb-widget-hourly .gfcb-hour-row .gfcb-hour-sp{
    position:absolute !important;
    top:-10px !important;
    inset-inline-start:50% !important;
    transform:translateX(50%) !important;
    font-size:9px !important;
    font-weight:800 !important;
    padding:2px 8px !important;
    line-height:1.4 !important;
    border-radius:999px !important;
    color:#fff !important;
    background:var(--gfcb-warning,#f59e0b) !important;
    box-shadow:0 2px 6px rgba(16,35,61,.16) !important;
    z-index:4 !important;
    pointer-events:none !important;
}

/* حالت‌ها (سوار بر کلاس‌های موجود) — رفع باگ هاور روی انتخاب‌شده */
.gfcb-widget-hourly .gfcb-hour-row.free:not(.sel):hover{
  border-color:color-mix(in srgb, var(--gfcb-select-ring,#2b6ef2) 45%, #fff) !important;
  background:color-mix(in srgb, var(--gfcb-select-ring,#2b6ef2) 5%, #fff) !important;
  box-shadow:0 0 0 2px color-mix(in srgb, var(--gfcb-select-ring,#2b6ef2) 12%, transparent) !important;}
.gfcb-widget-hourly .gfcb-hour-row.sel{
    border:2px solid var(--gfcb-select-ring,#2b6ef2) !important;
    background:color-mix(in srgb, var(--gfcb-select-ring,#2b6ef2) 8%, #fff) !important;
    box-shadow:0 0 0 3px color-mix(in srgb, var(--gfcb-select-ring,#2b6ef2) 22%, transparent), 0 6px 16px rgba(16,35,61,.10) !important;
}
.gfcb-widget-hourly .gfcb-hour-row.sel:hover{
    background:color-mix(in srgb, var(--gfcb-select-ring,#2b6ef2) 12%, #fff) !important;
}
.gfcb-widget-hourly .gfcb-hour-row.sel .gfcb-hour-time,
.gfcb-widget-hourly .gfcb-hour-row.sel .gfcb-hour-price,
.gfcb-widget-hourly .gfcb-hour-row.sel .gfcb-hour-price .gfcb-hour-price-val{color:var(--gfcb-text,#16233d) !important;}
.gfcb-widget-hourly .gfcb-hour-row.sel .gfcb-slot-avail{background:#e8f9f1 !important;color:#1f9d63 !important;}

.gfcb-widget-hourly .gfcb-hour-row.sold{
    cursor:not-allowed !important;opacity:.7 !important;
    background:repeating-linear-gradient(45deg,#fff5f5,#fff5f5 7px,#ffe3e3 7px,#ffe3e3 14px) !important;border-color:#ffd0d0 !important;
}
.gfcb-widget-hourly .gfcb-hour-row.off,
.gfcb-widget-hourly .gfcb-hour-row.past,
.gfcb-widget-hourly .gfcb-hour-row.offday{
    cursor:not-allowed !important;opacity:.55 !important;
    background:repeating-linear-gradient(45deg,#fafafa,#fafafa 7px,#f1f1f1 7px,#f1f1f1 14px) !important;
}

/* بازه زمانی خوانا در فرانت ساعتی */
.gfcb-booking-form .gfcb-widget-hourly .gfcb-hour-time-range {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 12px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 4px !important;
    width: 100% !important;
    max-width: 160px !important;
    direction: rtl !important;
    unicode-bidi: isolate !important;
    padding: 2px 0 !important;
    box-sizing: border-box !important;
}

.gfcb-booking-form .gfcb-widget-hourly .gfcb-time-endpoint {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    min-width: 0 !important;
}

.gfcb-booking-form .gfcb-widget-hourly .gfcb-time-endpoint small {
    display: block !important;
    font-size: 10px !important;
    line-height: 1.4 !important;
    font-weight: 500 !important;
    color: var(--gfcb-text-soft, #5a6b85) !important;
    direction: rtl !important;
}

.gfcb-booking-form .gfcb-widget-hourly .gfcb-time-endpoint strong {
    display: block !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    font-weight: 800 !important;
    color: inherit !important;
    white-space: nowrap !important;
    font-variant-numeric: tabular-nums !important;
    direction: ltr !important;
}

.gfcb-booking-form .gfcb-widget-hourly .gfcb-time-arrow {
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    color: var(--gfcb-text-soft, #5a6b85) !important;
    opacity: .65 !important;
    text-align: center !important;
    padding-top: 0 !important;
    padding-bottom: 15px !important;
}

.gfcb-booking-form .gfcb-widget-hourly .gfcb-hour-row {
    min-height: 88px !important;
    padding: 12px 7px 10px !important;
}

.gfcb-booking-form .gfcb-widget-hourly .gfcb-hour-row.sel .gfcb-time-arrow {
    color: var(--gfcb-select-ring, #2b6ef2) !important;
    opacity: 1 !important;
}

/* مدت و مبلغ انتخاب‌شده */
.gfcb-widget-hourly .gfcb-sel-summary {
    margin-top: 18px !important;
    padding: 0 !important;
    text-align: right !important;
}

.gfcb-widget-hourly .gfcb-sel-count {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 10px !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    direction: rtl !important;
}

.gfcb-widget-hourly .gfcb-selection-stat {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    min-width: 0 !important;
    padding: 14px 10px !important;
    border: 1px solid #e4eaf6 !important;
    border-radius: 15px !important;
    background: #f7f9fe !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

.gfcb-widget-hourly .gfcb-selection-stat-price {
    background: #f0faf6 !important;
    border-color: #d6eee3 !important;
}

.gfcb-widget-hourly .gfcb-selection-label {
    font-size: 11px !important;
    line-height: 1.7 !important;
    font-weight: 500 !important;
    color: var(--gfcb-text-soft, #5a6b85) !important;
}

.gfcb-widget-hourly .gfcb-selection-duration,
.gfcb-widget-hourly .gfcb-selection-amount {
    font-size: 15px !important;
    line-height: 1.9 !important;
    font-weight: 800 !important;
    color: var(--gfcb-text, #16233d) !important;
    overflow-wrap: anywhere !important;
    font-variant-numeric: tabular-nums !important;
}

.gfcb-widget-hourly .gfcb-selection-stat-price .gfcb-selection-amount {
    color: #16825a !important;
}

.gfcb-widget-hourly .gfcb-selection-discount {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 5px 8px !important;
    font-size: 10px !important;
    line-height: 1.8 !important;
    font-weight: 500 !important;
    color: #16825a !important;
}

.gfcb-widget-hourly .gfcb-selection-discount del {
    color: #8793a7 !important;
}

.gfcb-widget-hourly .gfcb-selection-note {
    grid-column: 1 / -1 !important;
    padding: 0 5px !important;
    font-size: 10px !important;
    line-height: 1.9 !important;
    font-weight: 400 !important;
    color: var(--gfcb-text-soft, #5a6b85) !important;
    text-align: center !important;
}

@media (max-width: 380px) {
    .gfcb-booking-form .gfcb-widget-hourly .gfcb-time-endpoint strong {
        font-size: 12px !important;
    }

    .gfcb-booking-form .gfcb-widget-hourly .gfcb-hour-time-range {
        gap: 2px !important;
        grid-template-columns: minmax(0, 1fr) 10px minmax(0, 1fr) !important;
    }

    .gfcb-widget-hourly .gfcb-selection-duration,
    .gfcb-widget-hourly .gfcb-selection-amount {
        font-size: 13px !important;
    }

    .gfcb-widget-hourly .gfcb-selection-stat {
        padding: 12px 7px !important;
    }
}


/* خنثی‌سازی طرح قدیمی pill/tick روی کاشی‌های ساعتی مدل B */
.gfcb-widget-hourly .gfcb-hour-row.gfcb-slot-cell.sel::before{content:none !important;display:none !important;}
.gfcb-widget-hourly .gfcb-hour-row.gfcb-slot-cell.sel::after{content:none !important;display:none !important;}
.gfcb-widget-hourly .gfcb-hour-row.gfcb-slot-cell.sel .gfcb-slot-avail{opacity:1 !important;}
/* رفع دوبار نمایش حالت: خنثی‌سازی قانون پایه‌ی slot-cell.sel روی کاشی ساعتی */
.gfcb-widget-hourly .gfcb-hour-row.gfcb-slot-cell.sel{
    background:color-mix(in srgb, var(--gfcb-select-ring,#2b6ef2) 8%, #fff) !important;
}
.gfcb-widget-hourly .gfcb-hour-row.gfcb-slot-cell.sel .gfcb-slot-avail{opacity:1 !important;}

/* موبایل: روز افقی بالا، ساعت‌ها شبکه پایین */
@media (max-width:480px){
    .gfcb-widget-hourly .gfcb-cal-vertical{flex-direction:column !important;}
    .gfcb-widget-hourly .gfcb-day-chip{flex:0 0 72px !important;}
    .gfcb-widget-hourly .gfcb-hour-list{grid-template-columns:repeat(2, 1fr) !important;}
}






.gfcb-credit-selector {
    margin: 14px 0;
    padding: 14px;
    border: 1px solid var(--gfcb-line, #e5e9f0);
    border-radius: 13px;
    background: var(--gfcb-surface-2, #f8fafc);
}

.gfcb-credit-label {
    display: block;
    margin-bottom: 7px;
    color: var(--gfcb-text-2, #3f4a5f);
    font-size: 12px;
    font-weight: 800;
}

.gfcb-credit-select {
    width: 100%;
    min-height: 44px;
    padding: 8px 11px;
    border: 1px solid var(--gfcb-line, #dce1e9);
    border-radius: 10px;
    color: var(--gfcb-text, #172033);
    background: #fff;
    font: inherit;
}

.gfcb-credit-select:focus {
    border-color: var(--gfcb-primary, #2563eb);
    outline: 0;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.gfcb-credit-select:disabled {
    opacity: 0.65;
    cursor: wait;
}

.gfcb-credit-message {
    min-height: 18px;
    margin-top: 7px;
    color: var(--gfcb-muted, #6b7280);
    font-size: 10px;
}

.gfcb-credit-message.ok {
    color: var(--gfcb-success, #15803d);
}

.gfcb-credit-message.err {
    color: var(--gfcb-danger, #dc2626);
}

.gfcb-credit-allocation {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 9px;
}

.gfcb-credit-allocation.gfcb-hidden {
    display: none;
}

.gfcb-credit-allocation-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 7px 9px;
    border-radius: 8px;
    background: #fff;
}

.gfcb-credit-allocation-item strong {
    color: var(--gfcb-text, #172033);
    font-size: 9px;
}

.gfcb-credit-allocation-item span {
    color: var(--gfcb-muted, #6b7280);
    font-size: 8px;
}

.gfcb-wallet-payment-option {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 14px 0;
    padding: 13px 14px;
    border: 1px solid var(--gfcb-line, #e5e9f0);
    border-radius: 13px;
    background: var(--gfcb-surface-2, #f8fafc);
    cursor: pointer;
}

.gfcb-wallet-payment-option input {
    width: 18px;
    height: 18px;
    margin: 0;
}

.gfcb-wallet-payment-option > span {
    display: flex;
    flex-direction: column;
    gap: 3px;
    color: var(--gfcb-text, #172033);
    font-size: 12px;
    font-weight: 800;
}

.gfcb-wallet-payment-option small {
    color: var(--gfcb-muted, #6b7280);
    font-size: 9px;
    font-weight: 500;
}

/* ==========================================================================
   افزودنی‌ها — فرانت (مرحله‌ی تأیید سفارش)
   ========================================================================== */
.gfcb-widget .gfcb-addons-box{
    margin:14px 0 !important;padding:14px !important;
    background:var(--gfcb-bg,#f8fafc) !important;border:1px solid #e6ebf3 !important;
    border-radius:14px !important;direction:rtl !important;text-align:right !important;
}
.gfcb-widget .gfcb-addons-title{
    font-size:14px !important;font-weight:800 !important;color:#0f172a !important;
    margin:0 0 10px !important;display:flex !important;align-items:center !important;gap:6px !important;
}
.gfcb-widget .gfcb-addons-title::before{
    content:"" !important;width:4px !important;height:16px !important;border-radius:3px !important;
    background:#4f46e5 !important;display:inline-block !important;
}
.gfcb-widget .gfcb-addon-item{
    display:flex !important;align-items:center !important;gap:10px !important;
    padding:12px 14px !important;margin:8px 0 !important;
    background:#fff !important;border:1.5px solid #e6ebf3 !important;border-radius:12px !important;
    cursor:pointer !important;transition:.15s !important;position:relative !important;
}
.gfcb-widget .gfcb-addon-item:hover{
    border-color:#c7d2fe !important;box-shadow:0 2px 8px rgba(79,70,229,.08) !important;
}
.gfcb-widget .gfcb-addon-item input.gfcb-addon-check{
    width:20px !important;height:20px !important;flex:0 0 20px !important;
    margin:0 !important;cursor:pointer !important;accent-color:#4f46e5 !important;
}
.gfcb-widget .gfcb-addon-item.is-disabled{
    opacity:.55 !important;cursor:not-allowed !important;background:#f1f5f9 !important;
}
.gfcb-widget .gfcb-addon-main{
    flex:1 1 auto !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    min-width:0 !important;
    cursor:pointer !important;
    margin:0 !important;
}
.gfcb-widget .gfcb-addon-body{
    flex:1 1 auto !important;display:flex !important;flex-direction:column !important;gap:3px !important;min-width:0 !important;
}
.gfcb-widget .gfcb-addon-name{
    font-size:13.5px !important;font-weight:700 !important;color:#1e293b !important;
    display:flex !important;align-items:center !important;gap:6px !important;flex-wrap:wrap !important;
}
.gfcb-widget .gfcb-addon-ic{
    width:24px !important;height:24px !important;flex:0 0 24px !important;border-radius:7px !important;
    background:#eef2ff !important;display:inline-flex !important;align-items:center !important;
    justify-content:center !important;font-size:14px !important;line-height:1 !important;
}
.gfcb-widget .gfcb-addon-desc{
    font-size:11.5px !important;color:#94a3b8 !important;line-height:1.6 !important;
}
.gfcb-widget .gfcb-addon-price{
    font-size:13px !important;font-weight:800 !important;color:#4f46e5 !important;
    white-space:nowrap !important;flex:0 0 auto !important;
}
.gfcb-widget .gfcb-addon-badge{
    font-size:10px !important;font-weight:700 !important;padding:2px 8px !important;
    border-radius:20px !important;background:#eef2ff !important;color:#4338ca !important;
}
.gfcb-widget .gfcb-addon-badge.soldout{
    background:#fdecef !important;color:var(--gfcb-day-soldout,#e0345a) !important;
}
/* ردیف افزودنی‌ها در خلاصه‌ی مالی */
.gfcb-widget .gfcb-addon-row b{color:#0f172a !important;}
/* ============================================================
   GFCB My Reservations — Final Clean Styles
   All colors are controlled by Appearance tab variables.
   ============================================================ */

.gfcb-my-reservations,
.gfcb-my,
.gfcb-my-v3{
    direction:rtl;
    max-width:1220px;
    margin:0 auto;
    padding:22px 12px 40px;
    color:var(--gfcb-text,#1e293b);
    box-sizing:border-box;
}

/* ---------- Shared ---------- */
.gfcb-my *{
    box-sizing:border-box;
}

.gfcb-my a{
    text-decoration:none;
}

.gfcb-my button,
.gfcb-my input,
.gfcb-my select,
.gfcb-my textarea{
    font-family:inherit;
}

/* ---------- Guest ---------- */


.gfcb-my-guest{
    background:var(--gfcb-card,#fff);
    border:1px solid var(--gfcb-line,#e5e7eb);
    border-radius:22px;
    padding:28px;
    box-shadow:0 14px 40px rgba(15,23,42,.08);
}

.gfcb-my-title{
    margin:0 0 16px;
    font-size:24px;
    font-weight:950;
    color:var(--gfcb-text,#1e293b);
}

.gfcb-my-guest-hint{
    margin:0 0 18px;
    color:var(--gfcb-text-soft,#64748b);
    line-height:1.9;
}

.gfcb-my-guest-form{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.gfcb-my-guest-input{
    flex:1;
    min-width:220px;
    border:1px solid var(--gfcb-line,#e5e7eb);
    background:#fff;
    border-radius:14px;
    padding:13px 16px;
    font-size:14px;
}

.gfcb-my-guest-btn,
.gfcb-my-login-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 18px;
    border-radius:14px;
    border:0;
    background:var(--gfcb-accent,#6366f1);
    color:#fff !important;
    font-size:14px;
    font-weight:900;
    cursor:pointer;
}




.gfcb-account-avatar{
    width:44px;
    height:44px;
    min-width:44px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--gfcb-accent,#6366f1);
    color:#fff;
    font-size:18px;
    font-weight:950;
}



.gfcb-account-security{
    margin-top:18px;
    padding-top:16px;
    border-top:1px dashed var(--gfcb-line,#e5e7eb);
}

.gfcb-account-security > summary{
    cursor:pointer;
    list-style:none;
    font-weight:900;
    font-size:14px;
    color:var(--gfcb-text,#1e293b);
    padding:6px 0;
}

.gfcb-account-security > summary::-webkit-details-marker{ display:none; }

.gfcb-account-security[open] > summary{
    margin-bottom:12px;
}

.gfcb-account-notice{
    padding:10px 12px;
    border-radius:12px;
    font-size:13px;
    font-weight:800;
    margin-bottom:12px;
}

.gfcb-account-notice.is-success{
    background:color-mix(in srgb,var(--gfcb-success,#16a34a) 14%,var(--gfcb-card,#fff));
    color:var(--gfcb-success,#16a34a);
}

.gfcb-account-notice.is-error{
    background:color-mix(in srgb,var(--gfcb-danger,#ef4444) 12%,var(--gfcb-card,#fff));
    color:var(--gfcb-danger,#ef4444);
}

/* ---------- Dashboard ---------- */
.gfcb-my-dashboard{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
    margin:0 0 14px;
}

.gfcb-my-dash-card{
    background:var(--gfcb-card,#fff);
    border:1px solid var(--gfcb-line,#e5e7eb);
    border-radius:16px;
    padding:14px 14px;
    box-shadow:0 8px 24px rgba(15,23,42,.045);
    position:relative;
    overflow:hidden;
}

.gfcb-my-dash-card:before{
    content:"";
    position:absolute;
    inset-inline-start:0;
    top:0;
    bottom:0;
    width:4px;
    background:var(--gfcb-accent,#6366f1);
}

.gfcb-my-dash-card.is-paid:before{ background:var(--gfcb-success,#10b981); }
.gfcb-my-dash-card.is-pending:before{ background:var(--gfcb-warning,#f59e0b); }
.gfcb-my-dash-card.is-refund:before{ background:var(--gfcb-danger,#ef4444); }

.gfcb-my-dash-num{
    display:block;
    font-size:22px;
    line-height:1.1;
    font-weight:950;
    color:var(--gfcb-text,#1e293b);
    margin-bottom:5px;
}

.gfcb-my-dash-lbl{
    display:block;
    color:var(--gfcb-text-soft,#64748b);
    font-size:11px;
    font-weight:900;
}


/* ---------- My reservations toolbar ---------- */

.gfcb-my-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    margin-bottom: 14px;
    padding: 15px;
    border: 1px solid var(--gfcb-line, #e5e7eb);
    border-radius: 18px;
    background: var(--gfcb-card, #fff);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.gfcb-my-toolbar-tabs {
    min-width: 0;
}

.gfcb-my-toolbar-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 11px;
}

.gfcb-my-toolbar-section-head > div {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.gfcb-my-toolbar-section-head strong {
    color: var(--gfcb-text, #1e293b);
    font-size: 13px;
    font-weight: 900;
}

.gfcb-my-toolbar-section-head > div > span {
    color: var(--gfcb-text-soft, #64748b);
    font-size: 10px;
}

.gfcb-my-visible-count {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    min-height: 27px;
    padding: 3px 10px;
    border-radius: 999px;
    color: var(--gfcb-accent, #6366f1);
    background: var(--gfcb-accent-soft, #eef2ff);
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

.gfcb-my-tabs-wrap {
    min-width: 0;
}

.gfcb-my-tabs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 130px), 1fr));
    gap: 7px;
    min-width: 0;
}

.gfcb-my-tab {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 7px !important;
    min-width: 0 !important;
    min-height: 39px !important;
    margin: 0 !important;
    padding: 6px 10px !important;
    border: 1px solid var(--gfcb-line, #e5e7eb) !important;
    border-radius: 10px !important;
    color: var(--gfcb-text-soft, #64748b) !important;
    background: #fff !important;
    box-shadow: none !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;
    cursor: pointer !important;
    transition:
        color 0.15s ease,
        border-color 0.15s ease,
        background 0.15s ease !important;
}

.gfcb-my-tab:hover {
    border-color: #c7d2fe !important;
    color: #4338ca !important;
    background: #f8f8ff !important;
}

.gfcb-my-tab:focus-visible {
    border-color: var(--gfcb-accent, #6366f1) !important;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12) !important;
    outline: none !important;
}

.gfcb-my-tab.is-active {
    border-color: var(--gfcb-accent, #6366f1) !important;
    color: #fff !important;
    background: var(--gfcb-accent, #6366f1) !important;
}

.gfcb-my-tab-label {
    overflow: hidden;
    min-width: 0;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gfcb-my-tab-count {
    display: inline-flex !important;
    flex: 0 0 auto;
    align-items: center !important;
    justify-content: center !important;
    min-width: 22px !important;
    height: 22px !important;
    padding: 0 6px !important;
    border-radius: 999px !important;
    color: var(--gfcb-accent, #6366f1) !important;
    background: var(--gfcb-accent-soft, #eef2ff) !important;
    font-size: 10px !important;
    font-weight: 900 !important;
}

.gfcb-my-tab.is-active .gfcb-my-tab-count {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.22) !important;
}

.gfcb-my-tools {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
    gap: 10px;
    min-width: 0;
    padding-top: 12px;
    border-top: 1px solid #edf0f5;
}

.gfcb-my-search-wrap {
    position: relative;
    display: flex;
    align-items: center;
    min-width: 0;
}

.gfcb-my-search-wrap > .dashicons {
    position: absolute;
    right: 13px;
    z-index: 1;
    width: 18px;
    height: 18px;
    color: #64748b;
    font-size: 18px;
    pointer-events: none;
}

.gfcb-my-search-wrap .gfcb-my-search {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    margin: 0;
    padding: 7px 42px 7px 13px;
    border: 1px solid #dce3ed;
    border-radius: 10px;
    color: #172033;
    background: #fff;
    box-shadow: none;
    font-size: 11px;
}

.gfcb-my-search-wrap .gfcb-my-search::placeholder {
    color: #94a3b8;
}

.gfcb-my-search-wrap .gfcb-my-search:focus {
    border-color: var(--gfcb-accent, #6366f1);
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1);
    outline: none;
}

.gfcb-my-sort-wrap {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    overflow: hidden;
    min-width: 0;
    min-height: 44px;
    border: 1px solid #dce3ed;
    border-radius: 10px;
    background: #fff;
}

.gfcb-my-sort-label {
    align-self: stretch;
    display: inline-flex;
    align-items: center;
    padding: 0 11px;
    border-left: 1px solid #e5e9f0;
    color: #64748b;
    background: #f8fafc;
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
}

.gfcb-my-sort-wrap .gfcb-my-sort {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    margin: 0;
    padding: 0 9px;
    border: 0;
    color: #334155;
    background: #fff;
    box-shadow: none;
    font-size: 10px;
    cursor: pointer;
}

.gfcb-my-sort-wrap .gfcb-my-sort:focus {
    box-shadow: none;
    outline: none;
}

.gfcb-my-contact-strip,
.gfcb-my-next-box {
    background: linear-gradient(
        135deg,
        var(--gfcb-accent-soft, #eef2ff),
        #fff
    );
    border: 1px solid color-mix(
        in srgb,
        var(--gfcb-accent, #6366f1) 22%,
        var(--gfcb-line, #e5e7eb)
    );
    border-radius: 18px;
    margin-bottom: 14px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .04);
}

.gfcb-my-contact-strip {
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 0;
    padding: 10px 14px;
}

.gfcb-my-contact-main {
    flex: 1 1 auto;
    min-width: 0;
}

.gfcb-my-contact-title,
.gfcb-my-next-title {
    font-weight: 950;
    color: var(--gfcb-text, #1e293b);
    margin-bottom: 4px;
}

.gfcb-my-contact-title {
    margin-bottom: 2px;
    font-size: 14px;
}

.gfcb-my-contact-address,
.gfcb-my-next-sub {
    color: var(--gfcb-text-soft, #64748b);
    font-size: 12px;
    line-height: 1.8;
}

.gfcb-my-contact-address {
    display: flex;
    align-items: center;
    gap: 5px;
    min-width: 0;
    line-height: 1.6;
}

.gfcb-my-contact-actions,
.gfcb-my-next-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.gfcb-my-contact-actions {
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    margin-top: 0;
    margin-inline-start: auto;
}

@media (max-width: 700px) {
    .gfcb-my-contact-strip {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .gfcb-my-contact-actions {
        width: 100%;
        margin-inline-start: 0;
        justify-content: flex-start;
    }
}

.gfcb-my-next-box{
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 12px;
    min-height:58px;
}

.gfcb-my-next-icon{
    width:38px;
    height:38px;
    border-radius:14px;
    background:linear-gradient(135deg,var(--gfcb-accent,#6366f1),var(--gfcb-accent-hover,#4f46e5));
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    flex:0 0 auto;
    box-shadow:0 10px 22px rgba(99,102,241,.20);
}

.gfcb-my-next-main{
    flex:1 1 auto;
    min-width:0;
}

.gfcb-my-next-title{
    margin-bottom:2px;
    font-size:15px;
}

.gfcb-my-next-sub{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    line-height:1.6;
}

.gfcb-my-next-actions{
    margin-top:0;
    flex:0 0 auto;
    margin-inline-start:auto;
}

/* ---------- True compact list ---------- */
.gfcb-my-list{
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
    container-name:gfcb-reservations;
    container-type:inline-size;
    min-width:0;
    width:100%;
    max-width:100%;
}

.gfcb-my-row{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:12px!important;
    padding:12px 14px!important;
    border:1px solid var(--gfcb-line,#e5e7eb)!important;
    border-radius:16px!important;
    background:var(--gfcb-card,#fff)!important;
    box-shadow:0 6px 20px rgba(15,23,42,.045)!important;
    min-height:72px!important;
    transition:border-color .15s ease, box-shadow .15s ease!important;
}

/* ---------- Reservation rows: content-width responsive layout ---------- */
.gfcb-my-row.gfcb-my-row-line {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    align-items: center !important;
    gap: 12px !important;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    min-height: 76px !important;
    padding: 12px 14px !important;
}

.gfcb-my-row-line > * {
    min-width: 0;
    max-width: 100%;
}

.gfcb-my-line-main {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.gfcb-my-line-main .gfcb-my-row-icon {
    flex: 0 0 40px;
}

.gfcb-my-line-title {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

.gfcb-my-line-title strong,
.gfcb-my-line-title span,
.gfcb-my-line-summary b,
.gfcb-my-line-summary span {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.7;
}

.gfcb-my-line-title strong {
    color: var(--gfcb-text, #1e293b);
    font-size: 13px;
}

.gfcb-my-line-title span,
.gfcb-my-line-summary span {
    color: var(--gfcb-text-soft, #64748b);
    font-size: 11px;
}

.gfcb-my-line-status .gfcb-my-status {
    max-width: 100%;
    box-sizing: border-box;
    white-space: normal !important;
    overflow-wrap: anywhere;
    text-align: center;
}

.gfcb-my-line-summary {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 5px;
}

.gfcb-my-line-track {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 5px;
    padding: 8px 10px;
    border: 1px solid var(--gfcb-line, #e5e7eb);
    border-radius: 10px;
    background: var(--gfcb-bg, #f8fafc);
}

.gfcb-my-line-track span {
    color: var(--gfcb-text-soft, #64748b);
    font-size: 10px;
}

.gfcb-my-line-track b {
    min-width: 0;
    max-width: 100%;
    color: var(--gfcb-text, #1e293b);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.7;
    text-align: start;
    overflow-wrap: anywhere;
    unicode-bidi: isolate;
}

.gfcb-my-line-title > a {
    display: block;
    max-width: 100%;
    border-radius: 4px;
    text-decoration: none;
}

.gfcb-my-line-title > a:hover strong {
    color: var(--gfcb-accent, #6366f1);
}

.gfcb-my-line-title > a:focus-visible {
    outline: 2px solid var(--gfcb-accent, #6366f1);
    outline-offset: 4px;
}

.gfcb-my-line-summary b {
    color: var(--gfcb-text, #1e293b);
    font-size: 12px;
}

.gfcb-my-line-actions {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 6px;
    min-width: 0;
}

.gfcb-my-line-actions .gfcb-my-detail-link,
.gfcb-my-line-actions .gfcb-repay-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    min-height: 36px;
    margin: 0;
    padding: 7px 10px;
    border-radius: 10px;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: center;
}

@container gfcb-reservations (min-width: 560px) {
    .gfcb-my-row.gfcb-my-row-line {
        grid-template-columns:
            minmax(0, 1.2fr)
            minmax(0, 1fr);
    }

    .gfcb-my-line-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
        padding-top: 10px;
        border-top: 1px solid var(--gfcb-line, #e5e7eb);
    }
}

@container gfcb-reservations (min-width: 820px) {
    .gfcb-my-row.gfcb-my-row-line {
        grid-template-columns:
            minmax(0, 1.25fr)
            minmax(0, 0.9fr)
            minmax(0, 1fr)
            minmax(0, 0.95fr)
            142px;
    }

    .gfcb-my-line-actions {
        grid-column: auto;
        padding-top: 0;
        border-top: 0;
    }
}

@media (max-width: 760px) {
    .gfcb-my-row.gfcb-my-row-line {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-areas:
            "main main"
            "status summary"
            "track track"
            "actions actions";
        align-items: center !important;
        gap: 8px !important;
        min-height: 0 !important;
        padding: 12px !important;
    }

    .gfcb-my-row-line > .gfcb-my-line-main {
        grid-area: main;
        gap: 8px;
    }

    .gfcb-my-row-line .gfcb-my-row-icon {
        flex: 0 0 36px;
        width: 36px !important;
        min-width: 36px !important;
        height: 36px !important;
        border-radius: 10px !important;
        font-size: 17px !important;
    }

    .gfcb-my-row-line .gfcb-my-line-title {
        gap: 2px;
    }

    .gfcb-my-row-line .gfcb-my-line-title strong,
    .gfcb-my-row-line .gfcb-my-line-title span {
        line-height: 1.6;
    }

    .gfcb-my-row-line > .gfcb-my-line-status {
        grid-area: status;
    }

    .gfcb-my-row-line .gfcb-my-line-status .gfcb-my-status {
        max-width: 100%;
        padding: 4px 8px !important;
        line-height: 1.7;
        text-align: right;
    }

    .gfcb-my-row-line > .gfcb-my-line-summary {
        grid-area: summary;
        gap: 2px;
        text-align: left;
    }

    .gfcb-my-row-line .gfcb-my-line-summary span {
        font-size: 10px;
        line-height: 1.7;
    }

    .gfcb-my-row-line > .gfcb-my-line-track {
        grid-area: track;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 6px 0;
        border: 0;
        border-top: 1px solid var(--gfcb-line, #e5e7eb);
        border-radius: 0;
        background: transparent;
    }

    .gfcb-my-row-line .gfcb-my-line-track span {
        flex: 0 0 auto;
    }

    .gfcb-my-row-line .gfcb-my-line-track b {
        min-width: 0;
        text-align: left;
    }

    .gfcb-my-row-line > .gfcb-my-line-actions {
        grid-area: actions;
        justify-content: flex-start;
        gap: 8px;
        padding-top: 8px;
        border-top: 1px solid var(--gfcb-line, #e5e7eb);
    }

    .gfcb-my-row-line .gfcb-my-line-actions .gfcb-my-detail-link,
    .gfcb-my-row-line .gfcb-my-line-actions .gfcb-repay-btn {
        flex: 1 1 0;
        min-width: 0;
        min-height: 38px !important;
        padding: 6px 10px !important;
        border-radius: 10px !important;
    }
}

.gfcb-my-row.is-hidden,
.gfcb-my-row.gfcb-my-row-line.is-hidden,
.gfcb-my-wrap .gfcb-my-noresult[hidden] {
    display: none !important;
}


/*
 * رزروها داخل Account Sidebar فضای کمتری دارند؛ سلول‌ها باید Wrap
 * شوند و دکمه‌ها در ردیف جدا قرار بگیرند.
 */
.gfcb-account-content .gfcb-my-row:not(.gfcb-my-row-line) {
    flex-wrap: wrap !important;
    align-items: stretch !important;
}



.gfcb-my a,
.gfcb-my a:hover,
.gfcb-my a:focus {
    text-decoration: none !important;
}

@media (max-width: 720px) {
    .gfcb-account-content .gfcb-my-row:not(.gfcb-my-row-line) {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }


}



.gfcb-my-row:hover{
    border-color:color-mix(in srgb,var(--gfcb-accent,#6366f1) 35%,var(--gfcb-line,#e5e7eb))!important;
    box-shadow:0 10px 26px rgba(15,23,42,.08)!important;
}



.gfcb-my-row-icon{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    border-radius:13px!important;
    background:var(--gfcb-accent,#6366f1)!important;
    color:#fff!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:19px!important;
}



.gfcb-my-detail-link,
.gfcb-repay-btn,
.gfcb-my-mini-btn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:34px!important;
    padding:0 13px!important;
    border-radius:999px!important;
    font-size:12px!important;
    font-weight:950!important;
    text-decoration:none!important;
    cursor:pointer!important;
    border:1px solid var(--gfcb-line,#e5e7eb)!important;
    background:#fff!important;
    color:var(--gfcb-accent,#6366f1)!important;
}

.gfcb-my-detail-link{
    background:var(--gfcb-accent,#6366f1)!important;
    border-color:var(--gfcb-accent,#6366f1)!important;
    color:#fff!important;
}



.gfcb-repay-btn{
    background:color-mix(in srgb,var(--gfcb-warning,#f59e0b) 14%,var(--gfcb-card,#fff))!important;
    border-color:color-mix(in srgb,var(--gfcb-warning,#f59e0b) 45%,var(--gfcb-line,#e5e7eb))!important;
    color:color-mix(in srgb,var(--gfcb-warning,#f59e0b) 70%,var(--gfcb-text,#1e293b))!important;
    font-weight:950!important;
}

.gfcb-repay-btn:hover{
    background:var(--gfcb-warning,#f59e0b)!important;
    border-color:var(--gfcb-warning,#f59e0b)!important;
    color:#fff!important;
}


.gfcb-copy-code{
    all:unset!important;
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:9px!important;
    background:var(--gfcb-text,#1e293b)!important;
    color:#fff!important;
    font-size:12px!important;
    line-height:1!important;
    cursor:pointer!important;
}

/* ---------- Status ---------- */
.gfcb-my-status{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:999px!important;
    padding:5px 11px!important;
    color:#fff!important;
    font-size:11px!important;
    font-weight:950!important;
    white-space:nowrap!important;
}

/* ---------- Single reservation ---------- */
.gfcb-my-single{
    max-width:1180px;
    margin:0 auto;
    padding:24px 14px 40px;
}

.gfcb-my-back-link{
    display:inline-flex;
    margin-bottom:14px;
    color:var(--gfcb-accent,#6366f1);
    font-weight:900;
    text-decoration:none;
}

.gfcb-my-single-head{
    background:linear-gradient(135deg,var(--gfcb-accent-soft,#eef2ff),#fff);
    border:1px solid color-mix(in srgb,var(--gfcb-accent,#6366f1) 18%,var(--gfcb-line,#e5e7eb));
    border-radius:20px;
    padding:14px;
    margin-bottom:0;
    box-shadow:0 10px 28px rgba(15,23,42,.055);
}



.gfcb-my-cal-icon{
    width:42px;
    height:42px;
    border-radius:15px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    background:var(--gfcb-accent,#6366f1);
    color:#fff;
    font-size:19px;
    box-shadow:0 10px 22px rgba(99,102,241,.18);
}

.gfcb-my-single-title-row h2{
    margin:0 0 3px;
    font-size:20px;
    font-weight:950;
    color:var(--gfcb-text,#1e293b);
}

.gfcb-my-single-meta{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    color:var(--gfcb-text-soft,#64748b);
    font-size:12px;
    font-weight:800;
}

.gfcb-my-single-title-row{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.gfcb-my-single-headinfo{
    flex:1 1 auto;
    min-width:0;
}

.gfcb-my-single-status{
    flex:0 0 auto;
}

.gfcb-my-head-actions{
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    gap:7px;
    flex:0 0 auto;
    align-items:center;
    justify-content:flex-end;
    margin-inline-start:auto;
}

/* نوار نازک آدرس/تماس در پایین هدر */
.gfcb-my-head-contactbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    margin-top:12px;
    padding-top:12px;
    border-top:1px dashed var(--gfcb-line,#e5e7eb);
}

.gfcb-my-head-contactbar-text{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    min-width:0;
    color:var(--gfcb-text-soft,#64748b);
    font-size:12px;
    line-height:1.7;
}

.gfcb-my-head-venue{
    color:var(--gfcb-text,#1e293b);
    font-weight:950;
    font-size:13px;
}

.gfcb-my-head-contactbar-links{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    flex:0 0 auto;
    margin-inline-start:auto;
}

.gfcb-head-btn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    width:auto!important;
    flex:0 0 auto!important;
    height:40px!important;
    min-height:40px!important;
    padding:0 14px!important;
    margin:0!important;
    border-radius:12px!important;
    border:1px solid var(--gfcb-line,#e5e7eb)!important;
    background:var(--gfcb-card,#fff)!important;
    color:var(--gfcb-text,#1e293b)!important;
    font-family:inherit!important;
    font-size:13px!important;
    font-weight:900!important;
    line-height:1!important;
    vertical-align:middle!important;
    text-decoration:none!important;
    box-sizing:border-box!important;
    cursor:pointer!important;
    box-shadow:0 2px 8px rgba(15,23,42,.04)!important;
    transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease!important;
}

.gfcb-head-btn:hover{
    transform:translateY(-1px)!important;
    border-color:color-mix(in srgb,var(--gfcb-accent,#6366f1) 40%,var(--gfcb-line,#e5e7eb))!important;
    box-shadow:0 8px 18px rgba(15,23,42,.08)!important;
}

.gfcb-head-btn-ico{
    font-size:15px!important;
    line-height:1!important;
}

.gfcb-head-btn.gfcb-repay-btn{
    background:var(--gfcb-accent,#6366f1)!important;
    border-color:var(--gfcb-accent,#6366f1)!important;
    color:#fff!important;
}

/* یکسان‌سازی رنگ متن لینک «افزودن به تقویم گوگل» با بقیه‌ی دکمه‌ها */
a.gfcb-head-btn,
a.gfcb-head-btn:link,
a.gfcb-head-btn:visited,
a.gfcb-head-btn:hover,
a.gfcb-head-btn:active{
    color:var(--gfcb-text,#1e293b)!important;
    text-decoration:none!important;
}

/* پیام محوشونده (toast) برای خطاها */
.gfcb-toast{
    position:fixed;
    inset-block-end:24px;
    inset-inline-start:50%;
    transform:translateX(-50%) translateY(12px);
    z-index:99999;
    max-width:min(92vw,420px);
    padding:12px 16px;
    border-radius:14px;
    background:var(--gfcb-text,#1e293b);
    color:#fff;
    font-size:13px;
    font-weight:800;
    line-height:1.7;
    text-align:center;
    box-shadow:0 18px 48px rgba(15,23,42,.28);
    opacity:0;
    transition:opacity .3s ease, transform .3s ease;
    pointer-events:none;
}

.gfcb-toast.is-show{
    opacity:1;
    transform:translateX(-50%) translateY(0);
}

.gfcb-toast.is-error{
    background:var(--gfcb-danger,#ef4444);
}

.gfcb-my-single-layout{
    display:flex;
    flex-direction:column;
    gap:16px;
}

.gfcb-my-single-row{
    display:block;
}

.gfcb-my-single-row-2{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    align-items:stretch;
}



.gfcb-my-single-card{
    background:var(--gfcb-card,#fff);
    border:1px solid var(--gfcb-line,#e5e7eb);
    border-radius:18px;
    padding:16px;
    box-shadow:0 10px 30px rgba(15,23,42,.05);
}

.gfcb-my-single-card h3{
    margin:0 0 12px;
    color:var(--gfcb-text,#1e293b);
    font-size:16px;
    font-weight:950;
}

/* ---------- My reservations: workflow details ---------- */

.gfcb-my-workflow-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

.gfcb-my-workflow-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    min-height:44px;
    padding:9px 12px;
    border:1px solid var(--gfcb-line,#e5e7eb);
    border-radius:12px;
    background:var(--gfcb-bg,#f8fafc);
}

.gfcb-my-workflow-item span{
    color:var(--gfcb-text-soft,#64748b);
    font-size:12px;
    font-weight:800;
}

.gfcb-my-workflow-item b{
    color:var(--gfcb-text,#1e293b);
    font-size:12px;
    font-weight:950;
    text-align:end;
}


.gfcb-my-workflow-message{
    margin-top:12px;
    padding:12px 14px;
    border:1px solid var(--gfcb-line,#e5e7eb);
    border-radius:12px;
    background:var(--gfcb-bg,#f8fafc);
    color:var(--gfcb-text,#1e293b);
}

.gfcb-my-workflow-message.is-danger{
    border-color:color-mix(
        in srgb,
        var(--gfcb-danger,#ef4444) 45%,
        var(--gfcb-line,#e5e7eb)
    );
    background:color-mix(
        in srgb,
        var(--gfcb-danger,#ef4444) 8%,
        var(--gfcb-card,#fff)
    );
}

.gfcb-my-workflow-message strong{
    display:block;
    margin-bottom:5px;
    color:var(--gfcb-text,#1e293b);
    font-size:13px;
    font-weight:950;
}

.gfcb-my-workflow-message p{
    margin:0;
    color:var(--gfcb-text-soft,#64748b);
    font-size:13px;
    line-height:1.9;
}

.gfcb-my-refund-summary{
    margin-top:14px;
    padding-top:14px;
    border-top:1px dashed var(--gfcb-line,#e5e7eb);
}

.gfcb-my-refund-summary h4{
    margin:0 0 10px;
    color:var(--gfcb-text,#1e293b);
    font-size:14px;
    font-weight:950;
}

.gfcb-my-order-timeline{
    position:relative;
    display:flex;
    flex-direction:column;
    gap:0;
}

.gfcb-my-order-event{
    position:relative;
    display:grid;
    grid-template-columns:30px minmax(0,1fr);
    gap:10px;
    min-height:54px;
}

.gfcb-my-order-event:not(:last-child)::after{
    content:"";
    position:absolute;
    top:28px;
    bottom:0;
    inset-inline-start:14px;
    width:2px;
    background:var(--gfcb-line,#e5e7eb);
}

.gfcb-my-order-event-dot{
    position:relative;
    z-index:1;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    border-radius:50%;
    background:var(--gfcb-accent-soft,#eef2ff);
    color:var(--gfcb-accent,#6366f1);
    font-size:12px;
    font-weight:950;
}

.gfcb-my-order-event > div{
    display:flex;
    flex-direction:column;
    gap:3px;
    padding:3px 0 14px;
}

.gfcb-my-order-event b{
    color:var(--gfcb-text,#1e293b);
    font-size:13px;
    font-weight:900;
}

.gfcb-my-order-event small{
    color:var(--gfcb-text-soft,#64748b);
    font-size:11px;
}

@media (max-width:720px){
    .gfcb-my-workflow-grid{
        grid-template-columns:1fr;
    }

    .gfcb-my-workflow-item{
        align-items:flex-start;
    }
}

.gfcb-qr-wrap {
    position: relative;
    display: inline-flex;
}

.gfcb-qr-pop {
    position: fixed;
    top: 0;
    left: 0;
    right: auto;
    bottom: auto;
    z-index: 200000;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    width: 210px;
    max-width: calc(100vw - 24px);
    max-height: calc(100vh - 24px);
    overflow-y: auto;
    box-sizing: border-box;
    padding: 16px;
    background: var(--gfcb-card, #fff);
    border: 1px solid var(--gfcb-line, #e5e7eb);
    border-radius: 14px;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.14);
    transform: none;
    direction: rtl;
}

.gfcb-qr-pop[hidden] {
    display: none !important;
}

.gfcb-my-qr-box {
    width: 154px;
    min-height: 154px;
    max-width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 12px;
    background: #fff;
    border: 1px solid var(--gfcb-line, #e5e7eb);
    border-radius: 12px;
}

.gfcb-my-qr-box img,
.gfcb-my-qr-box canvas {
    display: block;
    width: 128px !important;
    height: auto !important;
    max-width: 100%;
}

.gfcb-my-qr-cap {
    max-width: 100%;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.8;
    text-align: center;
    color: var(--gfcb-text-soft, #64748b);
}



/* ---------- Finance & receipt ---------- */
.gfcb-my-finance,
.gfcb-my-receipt-finance{
    border:1px solid var(--gfcb-line,#e5e7eb);
    border-radius:16px;
    overflow:hidden;
    background:#fff;
}

.gfcb-my-finance div,
.gfcb-my-receipt-finance div{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:10px 12px;
    border-bottom:1px dashed var(--gfcb-line,#e5e7eb);
}

.gfcb-my-finance div:last-child,
.gfcb-my-receipt-finance div:last-child{
    border-bottom:0;
}

.gfcb-my-finance span,
.gfcb-my-receipt-finance span{
    color:var(--gfcb-text-soft,#64748b);
    font-size:12px;
    font-weight:900;
}

.gfcb-my-finance b,
.gfcb-my-receipt-finance b{
    color:var(--gfcb-text,#1e293b);
    font-size:13px;
    font-weight:950;
}

.gfcb-my-finance-section-title {
    margin-top: 10px;
    padding-top: 9px;
    border-top: 1px solid var(--gfcb-line, #e5e9f0);
    color: var(--gfcb-muted, #6b7280);
    font-size: 10px;
    font-weight: 800;
}

.gfcb-my-finance .is-payment b,
.gfcb-my-receipt-finance .is-payment b {
    color: var(--gfcb-primary, #2563eb);
}

.gfcb-my-finance .is-refund,
.gfcb-my-receipt-finance .is-refund {
    color: #166534;
    background: #f0fdf4;
}

.gfcb-my-finance .is-refund b,
.gfcb-my-receipt-finance .is-refund b {
    color: #166534;
}

.gfcb-my-finance .is-total,
.gfcb-my-receipt-finance .is-total {
    background:var(--gfcb-accent-soft,#eef2ff);
}

.gfcb-my-finance .is-total span,
.gfcb-my-receipt-finance .is-total span,
.gfcb-my-finance .is-total b,
.gfcb-my-receipt-finance .is-total b{
    color:var(--gfcb-accent,#6366f1);
}

/* ---------- Details content ---------- */
.gfcb-my-items-modern{
    border:1px dashed var(--gfcb-line,#e5e7eb);
    border-radius:16px;
    padding:14px;
    background:var(--gfcb-bg,#f8fafc);
}

.gfcb-my-chip-list{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.gfcb-my-unit-chip{
    display:inline-flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-width:82px;
    padding:9px 11px;
    border-radius:13px;
    background:#fff;
    border:1px solid var(--gfcb-line,#e5e7eb);
}

.gfcb-my-unit-chip b{
    font-size:12px;
    font-weight:950;
}

.gfcb-my-unit-chip small{
    font-size:10px;
    color:var(--gfcb-text-soft,#64748b);
}

.gfcb-my-customer-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

.gfcb-my-customer-field{
    background:var(--gfcb-bg,#f8fafc);
    border:1px solid var(--gfcb-line,#e5e7eb);
    border-radius:14px;
    padding:10px 12px;
}

.gfcb-my-customer-field span{
    display:block;
    font-size:11px;
    color:var(--gfcb-text-soft,#64748b);
    margin-bottom:5px;
    font-weight:900;
}

.gfcb-my-customer-field b{
    font-size:13px;
    color:var(--gfcb-text,#1e293b);
}


/* ---------- Responsive ---------- */
@media (max-width:1100px){
    .gfcb-my-row{
        flex-wrap:wrap!important;
    }


    .gfcb-my-customer-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width:1100px){
    .gfcb-my-single-layout{
        grid-template-columns:1fr;
    }

    .gfcb-my-single-row-2{
        grid-template-columns:1fr;
    }



}

@media (max-width:640px){
    .gfcb-toast{
        inset-inline-start:12px;
        inset-inline-end:12px;
        transform:translateY(12px);
        max-width:none;
        width:auto;
    }

    .gfcb-toast.is-show{
        transform:translateY(0);
    }

    .gfcb-my-dashboard{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .gfcb-my-single {
        padding-right: 8px;
        padding-left: 8px;
    }

    .gfcb-my-single-head {
        padding: 12px;
        border-radius: 16px;
    }

    .gfcb-my-back-link {
        margin-bottom: 10px;
        font-size: 12px;
    }

    .gfcb-my-single-title-row {
        display: grid;
        grid-template-columns: 48px minmax(0, 1fr);
        gap: 8px 10px;
        align-items: center;
    }

    .gfcb-my-cal-icon {
        grid-column: 1;
        grid-row: 1;
        width: 46px;
        height: 46px;
        border-radius: 13px;
        font-size: 18px;
    }

    .gfcb-my-single-headinfo {
        grid-column: 2;
        grid-row: 1;
        min-width: 0;
    }

    .gfcb-my-single-title-row h2 {
        margin-bottom: 3px;
        font-size: 19px;
        line-height: 1.5;
        overflow-wrap: anywhere;
    }

    .gfcb-my-single-meta {
        display: flex;
        gap: 5px;
        font-size: 10px;
        line-height: 1.7;
    }

    .gfcb-my-single-status {
        grid-column: 1 / -1;
        grid-row: 2;
        justify-self: start;
        margin: 0;
    }

    .gfcb-my-head-actions {
        grid-column: 1 / -1;
        grid-row: 3;
        display: grid;
        grid-template-columns:
            repeat(
                auto-fit,
                minmax(135px, 1fr)
            );
        gap: 7px;
        width: 100%;
        margin: 2px 0 0;
    }

    .gfcb-head-btn {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 42px !important;
        height: auto !important;
        padding: 7px 9px !important;
        justify-content: center !important;
        font-size: 11px !important;
        line-height: 1.6 !important;
        text-align: center !important;
        white-space: normal !important;
    }

    .gfcb-qr-wrap {
        display: block;
        min-width: 0;
    }

    .gfcb-qr-wrap > .gfcb-head-btn {
        width: 100% !important;
    }

    .gfcb-my-head-contactbar {
        display: grid;
        grid-template-columns: 1fr;
        gap: 9px;
        margin-top: 11px;
        padding-top: 11px;
    }

    .gfcb-my-head-contactbar-text {
        display: grid;
        gap: 4px;
        width: 100%;
    }

    .gfcb-my-head-venue {
        font-size: 13px;
    }

    .gfcb-my-head-addr {
        font-size: 10px;
        line-height: 1.9;
        overflow-wrap: anywhere;
    }

    .gfcb-my-head-contactbar-links {
        display: grid;
        grid-template-columns:
            repeat(
                auto-fit,
                minmax(130px, 1fr)
            );
        gap: 7px;
        width: 100%;
        margin: 0;
    }

    .gfcb-my-head-contactbar-links .gfcb-my-mini-btn {
        width: 100%;
        min-width: 0;
        justify-content: center;
        text-align: center;
        overflow-wrap: anywhere;
    }

    .gfcb-my-row{
        flex-direction:column!important;
        align-items:stretch!important;
    }
    .gfcb-my-customer-grid{
        grid-template-columns:1fr;
    }
}
@media (max-width: 380px) {
    .gfcb-my-head-actions,
    .gfcb-my-head-contactbar-links {
        grid-template-columns: 1fr;
    }

    .gfcb-my-single-title-row {
        grid-template-columns: 42px minmax(0, 1fr);
    }

    .gfcb-my-cal-icon {
        width: 40px;
        height: 40px;
    }

    .gfcb-my-single-title-row h2 {
        font-size: 17px;
    }
}
/* ============================================================
   فرم مشتری فرانت (custom fields) + نوار مرحله
   ساختار از class-gfcb-custom-fields.php و class-gfcb-renderer.php
   ============================================================ */

/* ---------- نوار مرحله ---------- */
.gfcb-stepbar{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:nowrap;
    overflow-x:auto;
    scrollbar-width:none;
    -ms-overflow-style:none;
    padding:14px 16px;
    background:var(--gfcb-card,#fff);
    border-bottom:1px solid var(--gfcb-line,#e5e7eb);
}

.gfcb-stepbar::-webkit-scrollbar{
    display:none;
}

.gfcb-stepbar-item{
    display:inline-flex;
    align-items:center;
    gap:8px;
    flex:0 0 auto;
    white-space:nowrap;
    padding:6px 12px 6px 8px;
    border-radius:999px;
    background:var(--gfcb-bg,#f8fafc);
    color:var(--gfcb-text-soft,#64748b);
    font-size:13px;
    font-weight:800;
    transition:background .15s ease, color .15s ease;
}

.gfcb-stepbar-num{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:24px;
    height:24px;
    border-radius:50%;
    background:var(--gfcb-line,#e5e7eb);
    color:var(--gfcb-text-soft,#64748b);
    font-size:12px;
    font-weight:900;
    flex:0 0 auto;
}

.gfcb-stepbar-item.active{
    background:var(--gfcb-accent-soft,#eef2ff);
    color:var(--gfcb-accent,#6366f1);
}

.gfcb-stepbar-item.active .gfcb-stepbar-num{
    background:var(--gfcb-accent,#6366f1);
    color:#fff;
}

.gfcb-stepbar-item.done{
    color:var(--gfcb-success,#10b981);
}

.gfcb-stepbar-item.done .gfcb-stepbar-num{
    background:var(--gfcb-success,#10b981);
    color:#fff;
}

/* ---------- کانتینر فیلدهای مشتری ---------- */
.gfcb-custom-fields{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    padding:18px;
    box-sizing:border-box;
}

/* عرض ستون‌ها */
.gfcb-cf-row{
    box-sizing:border-box;
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:6px;
    flex:1 1 100%;
}

.gfcb-cf-w-full{ flex:1 1 100%; max-width:100%; }
.gfcb-cf-w-half{ flex:1 1 calc(50% - 7px); max-width:calc(50% - 7px); }
.gfcb-cf-w-third{ flex:1 1 calc(33.333% - 10px); max-width:calc(33.333% - 10px); }
.gfcb-cf-w-two_thirds{ flex:1 1 calc(66.666% - 5px); max-width:calc(66.666% - 5px); }

/* ---------- لیبل ---------- */
.gfcb-cf-label{
    display:block;
    font-size:13px;
    font-weight:900;
    color:var(--gfcb-text,#1e293b);
    line-height:1.6;
}

.gfcb-req{
    color:var(--gfcb-danger,#ef4444);
    margin-inline-start:2px;
    font-weight:900;
}

/* ---------- ورودی‌های متنی/انتخابی ---------- */
.gfcb-cf-input{
    width:100%;
    box-sizing:border-box;
    min-height:44px;
    padding:10px 12px;
    border:1px solid var(--gfcb-line,#e5e7eb);
    border-radius:12px;
    background:var(--gfcb-card,#fff);
    color:var(--gfcb-text,#1e293b);
    font-family:inherit;
    font-size:13px;
    font-weight:600;
    line-height:1.6;
    transition:border-color .15s ease, box-shadow .15s ease;
}

textarea.gfcb-cf-input{
    min-height:90px;
    resize:vertical;
}

.gfcb-cf-input::placeholder{
    color:var(--gfcb-text-soft,#94a3b8);
    font-weight:500;
}

.gfcb-cf-input:focus{
    outline:none;
    border-color:var(--gfcb-accent,#6366f1);
    box-shadow:0 0 0 3px color-mix(in srgb,var(--gfcb-accent,#6366f1) 15%,transparent);
}

/* اندازه‌ها */
.gfcb-cf-size-small .gfcb-cf-input{ min-height:38px; font-size:12px; }
.gfcb-cf-size-large .gfcb-cf-input{ min-height:48px; font-size:14px; }

/* select پیکان */
select.gfcb-cf-input{
    appearance:none;
    -webkit-appearance:none;
    background-image:linear-gradient(45deg,transparent 50%,var(--gfcb-text-soft,#64748b) 50%),linear-gradient(135deg,var(--gfcb-text-soft,#64748b) 50%,transparent 50%);
    background-position:calc(0% + 14px) center, calc(0% + 19px) center;
    background-size:5px 5px, 5px 5px;
    background-repeat:no-repeat;
    padding-inline-start:36px;
    cursor:pointer;
}

/* ---------- رادیو و چک‌باکس ---------- */
.gfcb-cf-radios,
.gfcb-cf-checks{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.gfcb-cf-radio,
.gfcb-cf-check{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:9px 13px;
    border:1px solid var(--gfcb-line,#e5e7eb);
    border-radius:12px;
    background:var(--gfcb-card,#fff);
    color:var(--gfcb-text,#1e293b);
    font-size:13px;
    font-weight:700;
    cursor:pointer;
    transition:border-color .15s ease, background .15s ease;
}

.gfcb-cf-radio:hover,
.gfcb-cf-check:hover{
    border-color:color-mix(in srgb,var(--gfcb-accent,#6366f1) 40%,var(--gfcb-line,#e5e7eb));
}

.gfcb-cf-radio input,
.gfcb-cf-check input{
    width:auto;
    min-height:0;
    margin:0;
    accent-color:var(--gfcb-accent,#6366f1);
    cursor:pointer;
}

.gfcb-cf-radio:has(input:checked),
.gfcb-cf-check:has(input:checked){
    border-color:var(--gfcb-accent,#6366f1);
    background:var(--gfcb-accent-soft,#eef2ff);
    color:var(--gfcb-accent,#6366f1);
}

/* رضایت */
.gfcb-cf-consent{
    align-items:flex-start;
    line-height:1.7;
}

.gfcb-cf-consent a{
    color:var(--gfcb-accent,#6366f1);
    font-weight:900;
    text-decoration:none;
}

/* ---------- فایل ---------- */
.gfcb-cf-file{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}

.gfcb-cf-file-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 16px;
    border:1px dashed color-mix(in srgb,var(--gfcb-accent,#6366f1) 45%,var(--gfcb-line,#e5e7eb));
    border-radius:12px;
    background:var(--gfcb-accent-soft,#eef2ff);
    color:var(--gfcb-accent,#6366f1);
    font-family:inherit;
    font-size:13px;
    font-weight:900;
    cursor:pointer;
    transition:background .15s ease;
}

.gfcb-cf-file-btn:hover{
    background:color-mix(in srgb,var(--gfcb-accent,#6366f1) 18%,#fff);
}

.gfcb-cf-file-name{
    font-size:12px;
    font-weight:800;
    color:var(--gfcb-text,#1e293b);
}

.gfcb-cf-file-hint{
    flex:1 1 100%;
    font-size:11px;
    color:var(--gfcb-text-soft,#64748b);
}

/* ---------- آدرس ---------- */
.gfcb-cf-address{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.gfcb-cf-addr-row{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}

.gfcb-cf-addr-row .gfcb-cf-input{
    flex:1 1 calc(50% - 4px);
    min-width:0;
}

/* ---------- تاریخ تولد ---------- */
.gfcb-cf-birth{
    display:flex;
    gap:8px;
}

.gfcb-cf-birth select{
    flex:1 1 0;
    min-width:0;
    box-sizing:border-box;
    min-height:44px;
    padding:10px 12px;
    border:1px solid var(--gfcb-line,#e5e7eb);
    border-radius:12px;
    background:var(--gfcb-card,#fff);
    color:var(--gfcb-text,#1e293b);
    font-family:inherit;
    font-size:13px;
    font-weight:600;
    cursor:pointer;
}

/* ---------- تلفن تأییدشده (OTP) ---------- */
.gfcb-otp{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.gfcb-otp-row,
.gfcb-otp-verify{
    display:flex;
    gap:8px;
}

.gfcb-otp-row .gfcb-cf-input,
.gfcb-otp-code{
    flex:1 1 auto;
    min-width:0;
}

.gfcb-otp-code{
    box-sizing:border-box;
    min-height:44px;
    padding:10px 12px;
    border:1px solid var(--gfcb-line,#e5e7eb);
    border-radius:12px;
    background:var(--gfcb-card,#fff);
    color:var(--gfcb-text,#1e293b);
    font-family:inherit;
    font-size:13px;
    font-weight:600;
    text-align:center;
}

.gfcb-otp-send,
.gfcb-otp-check{
    flex:0 0 auto;
    min-height:44px;
    padding:0 16px;
    border:1px solid var(--gfcb-accent,#6366f1);
    border-radius:12px;
    background:var(--gfcb-accent,#6366f1);
    color:#fff;
    font-family:inherit;
    font-size:13px;
    font-weight:900;
    cursor:pointer;
    transition:background .15s ease;
}

.gfcb-otp-send:hover,
.gfcb-otp-check:hover{
    background:var(--gfcb-accent-hover,#4f46e5);
}

.gfcb-otp-msg{
    font-size:12px;
    font-weight:800;
    color:var(--gfcb-text-soft,#64748b);
}

/* ---------- توضیح و خطا ---------- */
.gfcb-cf-desc{
    font-size:11px;
    color:var(--gfcb-text-soft,#64748b);
    line-height:1.7;
}

.gfcb-cf-error{
    font-size:11px;
    font-weight:800;
    color:var(--gfcb-danger,#ef4444);
    line-height:1.7;
}

.gfcb-cf-error:empty{
    display:none;
}

/* حالت خطا روی فیلد */
.gfcb-cf-row.gfcb-cf-invalid .gfcb-cf-input,
.gfcb-cf-input.gfcb-cf-invalid{
    border-color:var(--gfcb-danger,#ef4444);
    box-shadow:0 0 0 3px color-mix(in srgb,var(--gfcb-danger,#ef4444) 12%,transparent);
}


.gfcb-booking-policy {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin: 13px 0;
    padding: 13px 14px;
    border: 1px solid #f2d28e;
    border-radius: 11px;
    color: #854d0e;
    background:
        linear-gradient(
            135deg,
            #fffbeb 0%,
            #fff8dc 100%
        );
}

.gfcb-booking-policy-icon {
    display: inline-flex;
    flex: 0 0 30px;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 8px;
    color: #fff;
    background: #f59e0b;
    font-size: 16px;
    font-weight: 900;
}

.gfcb-booking-policy > div {
    min-width: 0;
}

.gfcb-booking-policy strong {
    display: block;
    margin-bottom: 3px;
    color: #92400e;
    font-size: 12px;
}

.gfcb-booking-policy p {
    margin: 0;
    color: #854d0e;
    font-size: 10px;
    line-height: 1.9;
}

.gfcb-my-cancellation-policy > div {
    min-width: 0;
}

.gfcb-my-cancellation-policy strong {
    display: block;
    margin-bottom: 3px;
    color: #92400e;
    font-size: 11px;
}

.gfcb-my-card-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid #edf0f5;
}

.gfcb-my-card-heading > div {
    display: grid;
    gap: 2px;
}

.gfcb-my-card-heading span {
    color: #94a3b8;
    font-size: 9px;
}

.gfcb-my-card-heading h3 {
    margin: 0 !important;
}

.gfcb-my-finance-detailed .is-discount b {
    color: #dc2626;
}

.gfcb-my-finance-detailed .is-total {
    color: #fff;
    background: #6366f1;
}

.gfcb-my-finance-detailed .is-total span,
.gfcb-my-finance-detailed .is-total b {
    color: #fff;
}

.gfcb-my-payment-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    margin-top: 9px;
}

.gfcb-my-payment-meta > div {
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid #e0e6ef;
    border-radius: 8px;
    background: #f7f9fc;
}

.gfcb-my-payment-meta span {
    display: block;
    margin-bottom: 3px;
    color: #64748b;
    font-size: 9px;
}

.gfcb-my-payment-meta b {
    display: block;
    color: #172033;
    font-size: 10px;
    overflow-wrap: anywhere;
}

.gfcb-my-transaction-status {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 2px 8px;
    border-radius: 999px;
    color: #475569;
    background: #eef2f7;
    font-size: 9px;
    font-weight: 800;
}

.gfcb-my-transaction-status-paid,
.gfcb-my-transaction-status-verified {
    color: #047857;
    background: #d1fae5;
}

.gfcb-my-transaction-status-failed,
.gfcb-my-transaction-status-cancelled {
    color: #b91c1c;
    background: #fee2e2;
}

.gfcb-my-transaction-status-pending,
.gfcb-my-transaction-status-processing {
    color: #b45309;
    background: #fef3c7;
}

.gfcb-my-addons-table {
    overflow-x: auto;
    overflow-y: hidden;
    border: 1px solid #e0e6ef;
    border-radius: 9px;
}

.gfcb-my-addons-head,
.gfcb-my-addon-row {
    display: grid;
    grid-template-columns:
        minmax(145px, 1.4fr)
        minmax(125px, 1.1fr)
        60px
        minmax(105px, 0.95fr)
        minmax(105px, 0.95fr);
    gap: 9px;
    align-items: center;
    min-width: 620px;
}

.gfcb-my-addons-head {
    min-height: 39px;
    padding: 7px 11px;
    color: #64748b;
    background: #f5f7fb;
    font-size: 9px;
    font-weight: 800;
}

.gfcb-my-addon-row {
    min-height: 47px;
    padding: 8px 11px;
    border-top: 1px solid #e7ebf1;
    color: #475569;
    font-size: 10px;
}

.gfcb-my-addon-row > strong,
.gfcb-my-addon-row > b {
    color: #172033;
}

.gfcb-my-addons-total {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 18px;
    min-height: 45px;
    padding: 8px 11px;
    border-top: 1px solid #dce3ed;
    background: #fafbfc;
}

.gfcb-my-addons-total span {
    color: #64748b;
    font-size: 10px;
}

.gfcb-my-addons-total strong {
    color: #4f46e5;
    font-size: 12px;
}

.gfcb-my-customer-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
}

.gfcb-my-customer-field {
    min-width: 0;
    min-height: 65px;
    padding: 9px 11px;
    border: 1px solid #e0e6ef;
    border-radius: 8px;
    background: #f7f9fc;
}

.gfcb-my-customer-field > span {
    display: block;
    margin-bottom: 4px;
    color: #64748b;
    font-size: 9px;
}

.gfcb-my-customer-field > div {
    color: #172033;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.8;
    overflow-wrap: anywhere;
}

.gfcb-my-customer-field a {
    color: #4f46e5;
}

.gfcb-my-file-link {
    display: inline-flex;
    align-items: center;
    min-height: 29px;
    padding: 3px 9px;
    border: 1px solid #c7d2fe;
    border-radius: 7px;
    text-decoration: none;
    background: #eef2ff;
}

.gfcb-my-field-prices {
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid #e0e6ef;
    border-radius: 8px;
    background: #fafbfc;
}

.gfcb-my-field-prices h4 {
    margin: 0 0 7px;
    font-size: 11px;
}

.gfcb-my-field-prices > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 34px;
    border-bottom: 1px dashed #dfe5ee;
}

.gfcb-my-field-prices > div:last-child {
    border-bottom: 0;
}

.gfcb-my-field-prices span {
    color: #475569;
    font-size: 10px;
}

.gfcb-my-field-prices b {
    color: #172033;
    font-size: 10px;
}

.gfcb-my-empty {
    padding: 12px;
    border: 1px dashed #d5dde8;
    border-radius: 8px;
    color: #64748b;
    background: #fafbfc;
    text-align: center;
}
.gfcb-my-reminder-bar {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr) auto;
    gap: 9px;
    align-items: center;
    min-height: 46px;
    margin: 6px 0 12px;
    padding: 7px 10px;
    border: 1px solid #c7d2fe;
    border-right: 4px solid #6366f1;
    border-radius: 10px;
    color: #312e81;
    background:
        linear-gradient(
            90deg,
            #f8f9ff 0%,
            #eef2ff 100%
        );
    box-shadow: 0 5px 14px rgba(79, 70, 229, 0.06);
}

.gfcb-my-reminder-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 8px;
    color: #fff;
    background: #6366f1;
}

.gfcb-my-reminder-icon .dashicons {
    width: 16px;
    height: 16px;
    font-size: 16px;
}

.gfcb-my-reminder-content {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 8px;
    min-width: 0;
}

.gfcb-my-reminder-content > strong {
    color: #312e81;
    font-size: 10px;
    font-weight: 900;
    white-space: nowrap;
}

.gfcb-my-reminder-start {
    color: #64748b;
    font-size: 9px;
    white-space: nowrap;
}

.gfcb-my-reminder-countdown {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    padding: 3px 9px;
    border-radius: 999px;
    color: #4338ca;
    background: rgba(255, 255, 255, 0.85);
    font-size: 9px;
    font-weight: 900;
    white-space: nowrap;
}

.gfcb-my-reminder-bar.is-past {
    border-color: #fecaca;
    border-right-color: #ef4444;
    color: #991b1b;
    background:
        linear-gradient(
            90deg,
            #fffafa 0%,
            #fef2f2 100%
        );
    box-shadow: 0 5px 14px rgba(239, 68, 68, 0.05);
}

.gfcb-my-reminder-bar.is-past .gfcb-my-reminder-icon {
    background: #ef4444;
}

.gfcb-my-reminder-bar.is-past .gfcb-my-reminder-content > strong {
    color: #991b1b;
}

.gfcb-my-reminder-bar.is-past .gfcb-my-reminder-countdown {
    color: #b91c1c;
    background: #fff;
}


.gfcb-my-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    min-width: 0;
}

.gfcb-my-summary-field {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 24px;
    align-items: start;
    align-content: start;
    gap: 8px 10px;
    min-width: 0;
    min-height: 84px;
    padding: 12px;
    border: 1px solid var(--gfcb-line, #e0e6ef);
    border-radius: 12px;
    background: var(--gfcb-bg, #f7f9fc);
}

.gfcb-my-summary-label {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    min-height: 24px;
    color: var(--gfcb-text-soft, #64748b);
    font-size: 11px;
    line-height: 1.8;
    white-space: normal;
}

.gfcb-my-summary-field > b {
    grid-column: 1 / -1;
    grid-row: 2;
    min-width: 0;
    color: var(--gfcb-text, #172033);
    font-size: 13px;
    line-height: 1.9;
    text-align: right;
    white-space: normal;
    word-break: normal;
    overflow-wrap: anywhere;
    unicode-bidi: isolate;
}

.gfcb-my-copy-placeholder {
    display: block;
    width: 24px;
    height: 24px;
}

.gfcb-my-summary-field > .gfcb-my-copy-button,
.gfcb-my-summary-field > .gfcb-my-copy-placeholder {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: end;
}




.gfcb-my-copy-button {
    display: inline-flex;
    flex: 0 0 24px;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    border: 1px solid #cfd7e4;
    border-radius: 6px;
    color: #6366f1;
    background: #fff;
    cursor: pointer;
}

.gfcb-my-copy-button .dashicons {
    width: 14px;
    height: 14px;
    font-size: 14px;
}

.gfcb-my-copy-button:hover,
.gfcb-my-copy-button:focus,
.gfcb-my-copy-button.is-copied {
    border-color: #6366f1;
    color: #fff;
    background: #6366f1;
    outline: none;
}







.gfcb-my-customer-units-row {
    grid-template-columns: minmax(0, 1.45fr) minmax(0, 0.75fr);
    align-items: start;
}

.gfcb-my-order-lower-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.75fr);
    gap: 16px;
    align-items: start;
}

.gfcb-my-order-lower-main {
    display: grid;
    gap: 16px;
    min-width: 0;
}

.gfcb-my-order-lower-grid > .gfcb-my-single-card,
.gfcb-my-order-lower-main > .gfcb-my-single-card {
    min-width: 0;
}

.gfcb-my-order-lower-grid .gfcb-my-order-timeline {
    max-width: 100%;
    max-height: 560px;
    overflow-x: hidden;
    overflow-y: auto;
    padding-left: 4px;
}
.gfcb-my-order-lower-grid .gfcb-my-order-event {
    min-width: 0;
}

.gfcb-my-order-lower-grid .gfcb-my-order-event > div {
    min-width: 0;
    overflow-wrap: anywhere;
}
@media (max-width: 1100px) {
    .gfcb-my-customer-units-row,
    .gfcb-my-order-lower-grid {
        grid-template-columns: 1fr;
    }

    .gfcb-my-order-lower-main {
        grid-template-columns: 1fr;
    }

    .gfcb-my-workflow-timeline-card {
        order: 2;
    }

    .gfcb-my-customer-grid {
        grid-template-columns: 1fr;
    }

    .gfcb-my-single-card {
        min-width: 0;
        max-width: 100%;
    }
}

.gfcb-my-calendar-type-chip {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 2px 8px;
    border-radius: 999px;
    color: #1d4ed8;
    background: #e5f1ff;
    font-size: 9px;
    font-weight: 800;
}

.gfcb-my-customer-units-row .gfcb-my-chip-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}

.gfcb-my-customer-units-row .gfcb-my-unit-chip {
    display: grid;
    align-content: center;
    justify-items: center;
    min-height: 64px;
    margin: 0;
    border: 1px solid #dbeafe;
    border-radius: 12px;
    background:
        linear-gradient(
            135deg,
            #f8fbff 0%,
            #eef6ff 100%
        );
    text-align: center;
}

.gfcb-my-customer-units-row .gfcb-my-unit-chip b {
    color: #0f172a;
    font-size: 13px;
}

.gfcb-my-customer-units-row .gfcb-my-unit-chip small {
    margin-top: 3px;
    color: #2563eb;
    font-size: 10px;
    font-weight: 700;
}
.gfcb-my-request-panel {
    display: grid;
    gap: 12px;
}

.gfcb-my-request-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 14px;
    border: 1px solid #e0e6ef;
    border-radius: 10px;
    background: #f8fafc;
}

.gfcb-my-request-panel-head span {
    color: #94a3b8;
    font-size: 9px;
}

.gfcb-my-request-panel-head h4 {
    margin: 2px 0 0;
    color: #172033;
    font-size: 14px;
}

.gfcb-my-request-panel-head > strong {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 3px 10px;
    border-radius: 999px;
    color: #b45309;
    background: #fef3c7;
    font-size: 10px;
}

.gfcb-my-request-panel.is-approved .gfcb-my-request-panel-head > strong {
    color: #047857;
    background: #d1fae5;
}

.gfcb-my-request-panel.is-rejected .gfcb-my-request-panel-head > strong {
    color: #b91c1c;
    background: #fee2e2;
}

.gfcb-my-request-current {
    display: grid;
    gap: 9px;
    padding: 12px;
    border: 1px solid #e0e6ef;
    border-radius: 10px;
    background: #fff;
}

.gfcb-my-request-current-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    color: #94a3b8;
    font-size: 9px;
}




.gfcb-my-ticket-thread {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid #e0e6ef;
    border-radius: 10px;
    background: #fff;
}

.gfcb-my-ticket-message {
    display: flex;
}

.gfcb-my-ticket-customer {
    justify-content: flex-start;
}

.gfcb-my-ticket-admin {
    justify-content: flex-end;
}

.gfcb-my-ticket-bubble {
    max-width: 78%;
    padding: 10px 12px;
    border-radius: 13px;
}

.gfcb-my-ticket-customer .gfcb-my-ticket-bubble {
    color: #075985;
    background: #eff8ff;
    border-bottom-right-radius: 4px;
}

.gfcb-my-ticket-admin .gfcb-my-ticket-bubble {
    color: #5b21b6;
    background: #faf5ff;
    border-bottom-left-radius: 4px;
}

.gfcb-my-ticket-bubble span {
    display: block;
    margin-bottom: 4px;
    font-size: 9px;
    font-weight: 800;
}

.gfcb-my-ticket-bubble p {
    margin: 0;
    font-size: 10px;
    line-height: 1.9;
}

.gfcb-my-ticket-bubble time {
    display: block;
    margin-top: 5px;
    color: #94a3b8;
    font-size: 8px;
}



/* ---------- موبایل ---------- */
@media (max-width:600px){
    .gfcb-my-single {
        width: 100%;
        max-width: 100%;
        padding-right: 8px;
        padding-left: 8px;
        overflow-x: hidden;
    }

    .gfcb-my-single-row-2,
    .gfcb-my-customer-units-row,
    .gfcb-my-order-lower-grid,
    .gfcb-my-order-lower-main,
    .gfcb-my-customer-grid,
    .gfcb-my-payment-meta,
    .gfcb-my-workflow-grid {
        grid-template-columns: 1fr;
    }

    .gfcb-my-single-card {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .gfcb-my-customer-field,
    .gfcb-my-summary-field,
    .gfcb-my-workflow-item {
        min-width: 0;
        max-width: 100%;
    }

    .gfcb-my-customer-field a,
    .gfcb-my-summary-field b,
    .gfcb-my-workflow-item b {
        overflow-wrap: anywhere;
        word-break: break-word;
    }
    .gfcb-custom-fields{
        padding:14px;
        gap:12px;
    }


    .gfcb-my-ticket-bubble {
        max-width: 100%;
    }
    .gfcb-cf-w-half,
    .gfcb-cf-w-third,
    .gfcb-cf-w-two_thirds{
        flex:1 1 100%;
        max-width:100%;
    }

    .gfcb-cf-mw-full{ flex:1 1 100%; max-width:100%; }
    .gfcb-cf-mw-half{ flex:1 1 calc(50% - 6px); max-width:calc(50% - 6px); }

    .gfcb-stepbar{
        gap:6px;
        padding:12px;
    }

    .gfcb-stepbar-label{
        font-size:12px;
    }
    

    .gfcb-my-reminder-bar {
        grid-template-columns: 28px minmax(0, 1fr);
        gap: 8px;
        min-height: 44px;
        padding: 7px 9px;
    }

    .gfcb-my-reminder-icon {
        width: 28px;
        height: 28px;
    }

    .gfcb-my-reminder-content {
        display: grid;
        gap: 2px;
    }

    .gfcb-my-reminder-content > strong,
    .gfcb-my-reminder-start {
        white-space: normal;
    }

    .gfcb-my-reminder-countdown {
        grid-column: 1 / -1;
        justify-self: stretch;
        min-height: 24px;
        white-space: normal;
    }

    .gfcb-my-summary-field {
        padding: 12px;
    }



    .gfcb-my-customer-field,
    .gfcb-my-summary-field,
    .gfcb-my-workflow-item {
        overflow: hidden;
    }

    .gfcb-my-customer-field > div,
    .gfcb-my-summary-field > b,
    .gfcb-my-workflow-item > b {
        min-width: 0;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .gfcb-my-addons-table {
        max-width: 100%;
    }
}
.gfcb-hour-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}

.gfcb-hour-status.is-disabled {
    color: #64748b;
    background: #e2e8f0;
    border: 1px solid #cbd5e1;
}
.gfcb-result-text {
    margin: 10px 0 0;
    color: var(--gfcb-text-soft, #64748b);
    font-size: 14px;
    line-height: 2;
}



.gfcb-result-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.gfcb-result-track-btn,
.gfcb-result-home {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 46px;
    padding: 6px 22px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none !important;
}

.gfcb-result-track-btn {
    color: #fff !important;
    border: 1px solid var(--gfcb-accent, #5865f2);
    background: var(--gfcb-accent, #5865f2);
    box-shadow: 0 8px 20px rgba(88, 101, 242, .2);
}

.gfcb-result-track-btn:hover {
    color: #fff !important;
    filter: brightness(.94);
}

.gfcb-result-home {
    color: var(--gfcb-accent, #5865f2) !important;
    border: 1px solid #c7d2fe;
    background: #fff;
}

.gfcb-result-home:hover {
    color: #fff !important;
    border-color: var(--gfcb-accent, #5865f2);
    background: var(--gfcb-accent, #5865f2);
}
@media (max-width: 782px) {
    .gfcb-my-toolbar {
        padding: 12px;
        border-radius: 14px;
    }

    .gfcb-my-toolbar-section-head {
        align-items: flex-start;
    }

    .gfcb-my-toolbar-section-head > div > span {
        display: none;
    }

    .gfcb-my-tab {
        min-height: 42px !important;
    }

    .gfcb-my-tools {
        grid-template-columns: 1fr;
    }

    .gfcb-my-sort-wrap {
        grid-template-columns: 90px minmax(0, 1fr);
    }
}

@media (max-width: 420px) {
    .gfcb-my-toolbar-section-head {
        flex-direction: column;
    }

    .gfcb-my-visible-count {
        align-self: flex-start;
    }
}
@media (max-width: 520px) {
    .gfcb-result-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .gfcb-result-track-btn,
    .gfcb-result-home {
        width: 100%;
        box-sizing: border-box;
    }
}