.main-section{
    margin-top:20px;
    margin-bottom: 20px;
}
.main-heading-font{
    font-size: 25px;
    color: #1269ba;
    font-weight: 600;
    border-bottom: 2px solid #99cc33;
    padding-bottom: 3px;
    margin-bottom: 20px;
}

.heading-text{
    width: 100%;
}

.cart-heading{
    border: none;
    font-size: 15px;
    margin-bottom: 0;
    color: #333;
}

.isbn-font{
    font-size: 12px;
    color: #6b6b6b;
}
.flex-space-between{
    display: flex;
    justify-content: space-between;
}
.condition-font{
    font-size: 12px;
    color: #6b6b6b;
}

.condition-div{
    border-bottom: 1px solid #DDD;
    border-top:1px solid #DDD;
    padding-bottom: 5px;
    padding-top: 5px;
    margin-top: 5px;
}

.due-date-font{
    font-size: 12px;
    font-weight: bold;
    color: #6b6b6b;


}

.img-book-setting{
    height: 160px;
    width: 100px;
}

.book-col-border{
    border: 1px solid #DDD;
    border-radius: 5px;
}

.div-padding{
    padding: 20px 20px 15px 20px
}

.div-padding-heading{
    padding: 0px 0px 10px 0px
}

.div-padding-three{
    padding: 0px 15px 0px 20px
}


.flex-row-wise{
    display: flex;
    flex-direction: row;
}

.flex-end{
    display: flex;
    justify-content: flex-end;
}
.subtotal-font{
    font-size: 18px;
    font-weight: 600;
    color: #000;

}

.subtotal-price-font{
    font-size: 18px;
    font-weight: 600;
    color: #B12704;

}
.type-font{
    font-size: 12px;
    color: #6b6b6b;
}

.flex-col-wise{
    display: flex;
    flex-direction: column;
}



.padding-isbn-div{
    padding-right: 20px;
    padding-left: 20px;
    padding-top: 10px;
    padding-bottom: 20px;
}

.book-name{
    color: #1269ba;
    font-weight: bold;
    font-size: 14px;
}

.edition-font{
    font-size: 12px;
    color:#6b6b6b;
}
.right-margin{
    float: right;
    margin-right: 10px;
}
.input-box{
    width: 42px;
    height: 30px;
    border-radius: 6px;
    border: 1px solid #6b6b6b;
    padding: 3px;
    margin-left: 2px;
}

.input-box:focus{
    border-radius: 6px;
    border: 2px solid #1269ba;


}

.book-format-note {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 10px;
    background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%);
    border-radius: 10px;
    border-left: 4px solid #ffc107;
    flex: 1;
    /* Height fits content - no stretch */
    align-self: flex-start;
    margin-bottom: 10px;
}

.label-font{
    font-size: 12px;
    font-weight: 400;
    color: #6b6b6b;
}

.remove-font{
    font-size: 12px;
    color: #1269ba;
    cursor: pointer;

}

.remove-font:hover{
    text-decoration: underline;


}
.border-bottom-div{
    border-bottom: 1px solid #DDD;
}
.price-heading{
    font-size: 15px;
    color:#6b6b6b;
}

.price-heading-num{
    font-size: 17px;
    color:#333;
    font-weight: bold;

}
.price-font{
    font-size: 13px;
    color:#6b6b6b;
}
.list-font{
    font-size: 13px;
    color:#6b6b6b;
}

span.list-font-price{
    font-size: 13px;
    color:#6b6b6b;
}

span.list-font-price-line{
    color:#B12704;
    text-decoration: line-through;
}

.new-border{
    text-align: center;
    border-bottom: 1px dashed #DDD;
}
.special-offer{
    position: relative;
    font-size: 15px;
    font-weight: bold;
    background-color: white;
    top: 11px;
    padding: 0 10px;
    color: #1269ba;
}
.include-font{
    font-size: 15px;
    font-weight: bold;
    color: #333333;
}
.fa-check-circle:before {
    content: "\f00c";
    color: #99cc33;
}

.membership-points{
    font-size: 13px;
    color: #6b6b6b;
}

.membership-points-inner{
    font-size: 13px;
    color: #1269ba;
    font-weight: bold;
}
.free-membership{
    font-size: 15px;
    color: #1269ba;
    font-weight: bold;
}

.free-color{
    color: #99cc33;
    font-size:15px;
}

.custom-button {
    background-color: #1269ba; /* Green */
    border: none;
    color: white;
    padding: 6px 10px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 13px;
    margin: 4px 2px;
    cursor: pointer;
    border-radius: 3px;
}



.custom-button:hover{
    opacity: 0.8;
}

.cancel-font{
    font-size: 12px;
    color: #6b6b6b;

}

.float-right{
    float: right;
}


/*Right Section*/
.right-section-border {
    border: 1px solid #DDD;
    border-radius: 5px;
}
.solution-tag{
    content: 'Solutions';
    position: absolute;
    padding-top: 100%;
    bottom: 80%;
    left: -100%;
    right: -100%;
    height: 17%;
    font-size: 1em;
    background-color: #4dc66d;
    color: #fff;

    border-radius: 50%
}
.medium{
    font-size: 16px;
}

.solution-font{
    font-size: 13px;
    background-color: #99cc33;
    padding-top: 5px;
    text-align: center;
    color: white;

    border-bottom-left-radius: 40%;
    border-bottom-right-radius: 40%;
    font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
    padding-bottom: 1px;
}
.solution-div{
    width: 100px;
    height: 120px;
    float: left;
    position: relative;
    background-color: #e7e8e9;
}
.solution-img{
    width:60% ;
    max-height: 60%;
    position: absolute;
    top: 30px;
    left: 20px;
}
.solutioninn-div{
    position: absolute;
    top: 103px;
    font-size: 12px;
    right: 9px;
    font-family: "Comic Sans MS", cursive, sans-serif;
}

.solutioninn-div span{
    color: #1269ba;
    font-weight: bold;
}
.payment-review-heading
{
    font-size: 18px;
    border-bottom: 1px solid  #DDD;
    padding-top: 15px;
    color: #333;
}
.subtotal-border{
    border-bottom: 1px solid #DDD;
    padding-bottom: 10px;
    background: #f5f5f5;
}
.total-price-text
{
    font-size: 15px;
    color: #6b6b66;
    margin-top: 10px;
}

.price-text
{
    font-size: 30px;
    color: #1269BA;
    margin-top: 5px;
}


.btn-order-placement
{
    background-color: #1269BA;
    color: #FFFFFF;
    font-size:17px;
    font-weight: 700;
    padding: 7px 36px;
}

.btn-order-placement:hover,.btn-order-placement:focus
{
    opacity: 0.8;
    color: #FFFFFF;
    font-size:17px;
    font-weight: 700;
    padding: 7px 36px;
}



.place-order-button-position
{
    margin-top:10px;
}

.instock-font{
    font-size: 12px;
    color:green;
}
.out-font{
    font-size: 12px;
    color:#d41a1a;
}
.condition-position
{
    margin-top:15px;
    margin-bottom:15px;
}


.carried-left-padding-only
{
    padding-left:30px;
    padding-right: 0px;

}

.auther-font{
    font-size: 12px;
    color: #6b6b66;
    margin-top: 5px;
}




.sticky-funtion{
    position: -webkit-sticky;
    position: sticky;
    top:130px;
    max-height: 259px;

}


.saving-two-font{
    font-size: 16px;
    color:#B12704;
}

.shipping-font{
    font-size: 11px;
    color: #6b6b6b;
}

.custom-ribbon{
    background: #b71a1a;
    padding: 2px 3px;
    color: white;
    font-weight: bold;
    font-size: 10px;
    border-radius: 5px;
}




/*PADDING*/
.no-padding{
    padding-left: 0px;
    padding-right: 0px;
}

.padding-7-top{
    padding-top: 7px;
}

.padding-all-20{
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 20px;
    padding-right: 20px;
}
.padding-10-top{
    padding-top: 10px;
}

.padding-20-top{
    padding-top: 20px;
}

.padding-20-bottom{
    padding-bottom: 20px;
}
/*PADDING*/

/*MARGIN*/
.margin-40-left{
    margin-left: 40px;
}

.margin-15-top{
    margin-top: 15px;
}

.margin-5-top{
    margin-top: 5px;
}

.margin-5-left{
    margin-left: 5px;
}

.margin-5-bottom{
    margin-bottom: 5px;
}

.margin-5-top{
    margin-top: 5px;
}

.amargin-3-top{
    margin-top: 3px;
}


.margin-40-top{
    margin-top: 40px;
}

.margin-10-bottom{
    margin-bottom: 10px;
}
.margin-10-top{
    margin-top: 10px;
}
/*MARGIN*/


#ribbon-container {
    position: absolute;
    top: 3px;
    right: -7px;
    overflow: visible;
    /* so we can see the pseudo-elements we're going to add to the anchor */

    font-size: 12px;
    line-height: 3px;
}

#ribbon-container:before {
    content: "";
    height: 0;
    width: 0;
    display: block;
    position: absolute;
    top: 3px;
    left: 16px;
    border-top: 13px solid rgba(0, 0, 0, .3);
    border-bottom: 10px solid rgba(0, 0, 0, .3);
    border-right: 31px solid rgba(0, 0, 0, .3);
    border-left: 11px solid transparent;
}

#ribbon-container:after {
    /* This adds the second part of our dropshadow */

    content: "";
    height: 3px;
    background: rgba(0, 0, 0, .3);
    display: block;
    position: absolute;
    bottom: -3px;
    left: 58px;
    right: 3px;
}

#ribbon-container span {
    display: block;
    padding: 10px;
    position: relative;
    /* allows us to position our pseudo-elements properly */

    background: #0089d0;
    overflow: visible;
    height: 23px;
    margin-left: 29px;
    color: #fff;
    text-decoration: none;
    font-weight: bold;

}

#ribbon-container span:after {
    /* this creates the "folded" part of our ribbon */

    content: "";
    height: 0;
    width: 0;
    display: block;
    position: absolute;
    bottom: -8px;
    right: 0;
    border-top: 8px solid #004a70;
    border-right: 8px solid transparent;
}

#ribbon-container span:before {
    /* this creates the "forked" part of our ribbon */

    content: "";
    height: 0;
    width: 0;
    display: block;
    position: absolute;
    top: 0;
    left: -12px;
    border-top: 11px solid #0089d0;
    border-bottom: 12px solid #0089d0;
    border-right: 11px solid transparent;
    border-left: 11px solid transparent;
}

.cart-list-heading{
    display: flex;
    justify-content: space-between;
    padding: 10px 30px 0 20px;
}


/*new css*/

.empty-main-div{
    margin-top: 30px;
    padding: 20px 10px;
}

.empty-font{
    font-size: 20px;
    color: #5b5b5b;
}
.empty-img{
    height: 180px;
}
.flex-center-wise{
    display: flex;
    justify-content: center;
}

.flex-col-wise-center{
    display: flex;
    flex-direction: column;
    align-items: center;
}
.margin-left-70{ 
    margin-left: 80px;
}

.a-button-primary .a-button-inner {
    background: linear-gradient(to bottom,#048204 ,#048204);
    font-size: 17px;
    border-radius: 50px !important;
}

.a-button-inner {
    margin-top: 10px;
    width: 100%;
    position: relative;
    overflow: hidden;
    height: 35px;
    color: #fff;
    border: 0;
    display: flex;
    justify-content: center;
    gap: 10px;
    align-items: center;
}

.saving-percent {
    font-size: 16px;
    color: #333333;
    margin-left: 8px;
    
}


.lds-ellipsis {
    display: inline-block;
    position: relative;
    width: 80px;
    height: 50px;
  }
  .lds-ellipsis div {
    position: absolute;
    top: 33px;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #1269ba;
    animation-timing-function: cubic-bezier(0, 1, 1, 0);
  }
  .lds-ellipsis div:nth-child(1) {
    left: 8px;
    animation: lds-ellipsis1 0.6s infinite;
  }
  .lds-ellipsis div:nth-child(2) {
    left: 8px;
    animation: lds-ellipsis2 0.6s infinite;
  }
  .lds-ellipsis div:nth-child(3) {
    left: 32px;
    animation: lds-ellipsis2 0.6s infinite;
  }
  .lds-ellipsis div:nth-child(4) {
    left: 56px;
    animation: lds-ellipsis3 0.6s infinite;
  }
  @keyframes lds-ellipsis1 {
    0% {
      transform: scale(0);
    }
    100% {
      transform: scale(1);
    }
  }
  @keyframes lds-ellipsis3 {
    0% {
      transform: scale(1);
    }
    100% {
      transform: scale(0);
    }
  }
  @keyframes lds-ellipsis2 {
    0% {
      transform: translate(0, 0);
    }
    100% {
      transform: translate(24px, 0);
    }
  }

/* Comparison table */
.comparison-table table {
    width: 100%;
    border-collapse: collapse;
    background-color: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    border-radius: 5px;
    overflow: hidden;
    table-layout: fixed; /* Changed from auto to fixed */
}

.comparison-table th, .comparison-table td {
    padding: 8px 2px;
    text-align: left;
    border-bottom: 1px solid #ddd;
    white-space: nowrap;
}

/* Comparison table */
.comparison-table table {
    width: 100%;
    border-collapse: collapse;
    background-color: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    border-radius: 5px;
    overflow: hidden;
    table-layout: fixed;
}

.comparison-table th, .comparison-table td {
    padding: 8px 2px;
    text-align: left;
    border-bottom: 1px solid #ddd;
    white-space: nowrap;
}

/* Fixed column widths for parent table */
.comparison-table th:nth-child(1),
.comparison-table td:nth-child(1) {
    width: 50%;
}

.comparison-table th:nth-child(2),
.comparison-table td:nth-child(2),
.comparison-table th:nth-child(3),
.comparison-table td:nth-child(3),
.comparison-table th:nth-child(4),
.comparison-table td:nth-child(4) {
    width: 15%;
}

.comparison-table th:nth-child(5),
.comparison-table td:nth-child(5) {
    width: 8%;
    min-width: 60px;
}

.comparison-table th {
    background-color: #f5f5f5;
    font-weight: bold;
    text-align: center;
}

.comparison-table tr:hover {
    background-color: #f9f9fd;
}

/* Active/expanded row background color */
.comparison-table tr.breakdown-active {
    background-color: #f5f5f5 !important;
    transition: background-color 0.3s ease;
}

.comparison-table td img {
    height: 30px;
    min-width: 70px;
}

.comparison-table .view-btn {
    background-color: #e2e9f1;
    border-radius: 50%;
    border: 1px solid #c9ced8;
    cursor: pointer;
    font-size: 14px;
    width: 20px;
    padding-top: 1px;
}

.comparison-table .view-btn:hover {
    background-color: #bdc0c5;
}

.price-breakdown {
    margin-left: 0;
}

.breakdown-content-wrapper {
    overflow: hidden;
    padding: 0;
    margin: 0;
}

.price-breakdown table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse; /* Add this to match parent */
    border-radius: 0;
    margin: 0;
    padding: 0;
}

/* Fixed column widths for child table - must match parent exactly */
.price-breakdown table td:nth-child(1) {
    width: 50%;
    max-width: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-wrap: break-word;
    padding: 8px 2px; /* Match parent table padding */
    border-bottom: 1px solid #ddd; /* Match parent border */
}

.price-breakdown table td:nth-child(2),
.price-breakdown table td:nth-child(3),
.price-breakdown table td:nth-child(4) {
    width: 15%;
    text-align: center;
    padding: 8px 2px; /* Match parent table padding */
    border-bottom: 1px solid #ddd; /* Match parent border */
}

.price-breakdown table td:nth-child(5) {
    width: 8%; /* Changed from 5% to 8% to match parent */
    min-width: 60px;
    padding: 8px 2px; /* Match parent table padding */
    border-bottom: 1px solid #ddd; /* Match parent border */
}

.price-breakdown tr{
    color: #5c5c61;
    font-size: 12px;
}

.price-breakdown tr:hover{
    background-color: #f9f9fd;
}

.price-breakdown td img{
    width: 20px;
    height: 20px;
    border-radius: 50%;
}

.view-price-comparison-btn{
    background-color: #1269ba;
    padding: 7px;
    margin: 10px 0;
    border: none;
    color: white;
    border-radius: 50px;
    width: 100%;
    font-size: 12px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.comparison-heading{
    border: none !important;
    font-size: 20px !important;
    margin-top: 20px;
    margin-bottom: 0;
}

.price-comparison-footer{
    margin-top: 10px;
    font-size: 12px;
}