.kit-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 15px;
    border-bottom: 1px solid #eee;
}

.kit-item:last-child {
    border-bottom: none;
}

.kit-item label {
    flex-grow: 1;
    margin: 0 10px;
    cursor: pointer;
}

.kit-tooltip {
    cursor: help;
    color: #007bff;
    font-weight: bold;
    position: relative;
    display: inline-block;
    border: 1px solid #007bff;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    text-align: center;
    line-height: 18px;
}

.kit-price {
    color: #555;
    font-weight: 500;
    min-width: 110px;
    text-align: left;
}

.kit-order-item .order-left {
    flex-grow: 1;
}

.kit-order-item .kit-title {
    font-size: 1rem;
    /* Adjust size as needed */
    font-weight: normal;
    color: #333;
}

.order-items .order-item:not(.item-1) {
    padding-top: 15px;
    padding-bottom: 15px;
}

.order-box {
    padding:10px 20px;
}

#kits-box {
    max-height: 200px;
    overflow-y: auto;
    scrollbar-gutter: stable; /* فضایی برای اسکرول‌بار رزرو می‌کند */
    border: 2px solid var(--ed-color-border-1);
    padding: 10px;
}
/* استایل‌دهی به کل اسکرول‌بار */
#kits-box::-webkit-scrollbar {
  width: 12px; /* عرض اسکرول‌بار */
}

/* استایل‌دهی به ترک (track) یا همان مسیری که اسکرول‌بار در آن حرکت می‌کند */
#kits-box::-webkit-scrollbar-track {
  background: transparent; /* پس‌زمینه ترک را شفاف می‌کند */
  border-radius: 10px; /* برای اطمینان از اینکه ترک هم گرد است */
}

/* استایل‌دهی به دستگیره (thumb) اسکرول‌بار */
#kits-box::-webkit-scrollbar-thumb {
  background-color: #cccccc; /* رنگ دستگیره */
  border-radius: 10px; /* گرد کردن گوشه‌های دستگیره */
  border: 3px solid transparent; /* ایجاد فاصله بین دستگیره و لبه‌ها */
  background-clip: content-box;
}

input{
    height: 20px;
}

.checkout-right{
    margin-top: 0;
}

/* Universal placeholder styling */
.form-control::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #999; /* A medium gray color */
  opacity: 1; /* Firefox */
}

.form-control:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #999;
}

.form-control::-ms-input-placeholder { /* Microsoft Edge */
  color: #999;
}

.form-control::placeholder{
    color: #999 !important;
    opacity: 1 !important;
    text-align: right;
}

.checkout-left .form-header{
    margin-bottom: 0;
}

.checkout-right .form-header{
    margin-bottom:20px
}

.order-box .order-item:not(:last-of-type){
    margin-bottom: 0px;
    padding-bottom: 0px;
}

.order-items .order-item:not(.item-1){
    padding: 0;
}

textarea{
    height: 120px;
}

#checkout-form-id > div > div:nth-child(4){
    margin-top: 15px;
}

.checkout-form-wrap .form-group:not(:last-of-type){
    margin-bottom: 15px;
}

body > section.checkout-section.pt-10.pb-100 > div > div:nth-child(2){
    margin-top: 15px;
}

body > section.checkout-section.pt-10.pb-100 > div > div:nth-child(1) > div.col-lg-6.col-md-6 > div > div:nth-child(2) > div > div.order-items > div.order-item.item-1{
    padding-bottom: 5px;
}

#checkout-form-id span{
    color: #999;
}

#kits-box input.kit-quantity{
    margin-left: 5px;
    width: 43px;
    height: 24px;
    text-align: center;
}

/*  */

/* START: Stepper Styles */
* {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    box-sizing: border-box;
}

.ctrl {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center; /* Center the items horizontally */
    background-color: #fff;
    border-radius: 5px;
    font-size: 16px; /* Adjusted font size for better fit */
    border: 1px solid #D5DCE6; /* Added border for consistency */
    width: 108px; /* Set a fixed width 120px */
    height: 35px; /* Set a fixed height */
    margin-left: 70px; /* Replaces old margin */
    margin-right: 10px;
}

.ctrl__counter {
    position: relative;
    width: 40px; /* Adjusted width */
    height: 35px; /* Match parent height */
    color: #333C48;
    text-align: center;
    overflow: hidden;
}

.ctrl__counter.is-input .ctrl__counter-num {
    visibility: hidden;
    opacity: 0;
    transition: opacity 100ms ease-in;
}

.ctrl__counter.is-input .ctrl__counter-input {
    visibility: visible;
    opacity: 1;
    transition: opacity 100ms ease-in;
}

.ctrl__counter-input {
    width: 100%;
    margin: 0;
    padding: 0;
    position: relative;
    z-index: 2;
    box-shadow: none;
    outline: none;
    border: none;
    color: #333C48;
    font-size: 16px; /* Adjusted font size */
    line-height: 35px; /* Match parent height */
    text-align: center;
    visibility: hidden;
    opacity: 0;
    background-color: transparent; /* Ensure background is transparent */
    transition: opacity 100ms ease-in;
}

.ctrl__counter-num {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    line-height: 35px; /* Match parent height */
    visibility: visible;
    opacity: 1;
    transition: opacity 1000ms ease-in;
}

.ctrl__counter-num.is-increment-hide {
    opacity: 0;
    transform: translateY(-20px); /* Adjusted transform */
    animation: increment-prev 100ms ease-in;
}

.ctrl__counter-num.is-increment-visible {
    opacity: 1;
    transform: translateY(0);
    animation: increment-next 100ms ease-out;
}

.ctrl__counter-num.is-decrement-hide {
    opacity: 0;
    transform: translateY(20px); /* Adjusted transform */
    animation: decrement-prev 100ms ease-in;
}

.ctrl__counter-num.is-decrement-visible {
    opacity: 1;
    transform: translateY(0);
    animation: decrement-next 100ms ease-out;
}

.ctrl__button {
    width: 35px; /* Adjusted width */
    line-height: 35px; /* Match parent height */
    text-align: center;
    color: #fff;
    cursor: pointer;
    background-color: #8498a7;
    transition: background-color 100ms ease-in;
}

.ctrl__button:hover {
    background-color: #a9b6c0; /* Lighter shade */
    transition: background-color 100ms ease-in;
}

.ctrl__button:active {
    background-color: #6c7a86; /* Darker shade */
    transition: background-color 100ms ease-in;
}

/* .ctrl__button--decrement {
    border-radius: 5px 0 0 5px;
} */

/* .ctrl__button--increment {
    border-radius: 0 5px 5px 0;
} */

@keyframes decrement-prev {
    from {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes decrement-next {
    from {
        opacity: 0;
        transform: translateY(-20px); /* Adjusted transform */
    }
}

@keyframes increment-prev {
    from {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes increment-next {
    from {
        opacity: 0;
        transform: translateY(20px); /* Adjusted transform */
    }
}
/* END: Stepper Styles */

/* A small tweak to the existing style to remove old input styles */
#kits-box input.kit-quantity {
    margin-left: 0; /* Let the .ctrl div handle spacing */
    width: auto; /* Let the new styles control width */
    height: auto; /* Let the new styles control height */
}

#kits-box > span.kit-tooltip{
    margin-top: 50px;
}



/* --- کانتینر اصلی --- */
.tooltip-container {
  position: relative; /* این برای موقعیت‌دهی tooltip ضروری است */
  display: inline-block; /* برای اینکه عنصر به اندازه محتوایش باشد */
  cursor: help; /* تغییر شکل ماوس برای نشان دادن وجود راهنما */
  color: blue   ;
}

/* --- ساخت و استایل‌دهی به خود tooltip --- */
/* --- ساخت و استایل‌دهی به خود tooltip (نسخه وسط‌چین در پایین) --- */
.tooltip-container::after {
    content: attr(data-tooltip);
    /* --- ظاهر جعبه --- */
    background-color: #333;
    color: #fff;
    padding: 8px 12px;
    border-radius: 6px;
    font-family: 'Vazirmatn', sans-serif;
    font-size: 14px;
    line-height: 1.6;
    text-align: right;
    /* --- اندازه و موقعیت --- */
    position: absolute;
    z-index: 10;
    width: 250px;
    
    /* START: تغییرات کلیدی برای وسط‌چین کردن در پایین */
    top: 130%; /* با کمی فاصله، پایین‌تر از عنصر اصلی قرار می‌گیرد */
    left: 50%;
    transform: translateX(-50%); /* این دو خط با هم tooltip را دقیقا وسط‌چین افقی می‌کنند */
    /* END: تغییرات کلیدی */

    /* --- حالت اولیه (مخفی) و انیمیشن --- */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* --- ساخت پیکان کوچک برای اشاره به عنصر (اختیاری اما پیشنهادی) --- */
.tooltip-container::before {
    content: '';
    position: absolute;
    z-index: 11; /* بالاتر از خود tooltip */
    top: 100%; /* دقیقا زیر عنصر اصلی قرار می‌گیرد */
    left: 50%;
    transform: translateX(-50%);
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent #333 transparent; /* پیکان رو به پایین */

    /* --- حالت اولیه (مخفی) --- */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* --- نمایش tooltip و پیکان در زمان هاور شدن (hover) --- */
.tooltip-container:hover::after,
.tooltip-container:hover::before {
    opacity: 1;
    visibility: visible;
}

/* --- نمایش tooltip در زمان هاور شدن (hover) --- */
.tooltip-container:hover::after {
  opacity: 1; /* در حالت هاور، کاملا نمایان می‌شود */
  visibility: visible; /* قابل مشاهده می‌شود */
}

