
:root {
    --cart-border-color: #e1e1e1;
}

html {
    font-size: 10px;
}

body {
    background:var(--border-color);
}

.container {
    max-width: 120rem;
    margin:auto;
}

.d-none {
    display:none!important;
}

@media (min-width: 768px) {
    .main-cart-section{ 
        flex-basis: 65%;
        margin-right: 3rem;
        margin-bottom: 8rem;
    }
}


.aside-cart-section {
    flex-grow: 1;
    
}
.aside-cart-section .quick-cart {
    padding:2rem;
}
.position-relative {
    position:relative;
}

.response-box {
    padding:2rem;
}

hr {
    border: none;
    height: 1px;
    background: var(--room-separator);
    margin: 1.5rem 0;
}


input:focus, textarea:focus, select:focus {
    outline-color: var(--room-separator);
    border-radius: 0;
}
.loader-holder{
    text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 99;
  top: 0;
  background: white;
  /* display: flex; */
  justify-content: center;
  align-items: center;
  transition: all .3s ease-in-out;
}


.change-step-six {
    flex-basis: 50%;
    border: 1px solid var(--room-separator);
    padding:1rem 2rem;
    background:var(--border-color);
    flex-basis: 33%;
    padding: 1rem;
}
.active-six  {
    background:var(--white-color);
    border-bottom: none;
    
}


.justify-content-center {
    justify-content:center;
}


.aside-cart-section .quick-cart {
    margin-top:20px;
    -webkit-box-shadow: 1px 5px 18px 0px rgba(0,0,0,0.1);
    -moz-box-shadow: 1px 5px 18px 0px rgba(0,0,0,0.1);
    box-shadow: 1px 5px 18px 0px rgba(0,0,0,0.1);
    border:1px solid #dadada;
    position: -webkit-sticky;
    position: sticky;
    top: 120px; background:white;
    color:var(--text-gray-color);
}

.aside-cart-section .quick-cart article {
    margin-bottom: 2rem;
}

.aside-cart-section .quick-cart article .hotel-name{
    font-weight: 600;
}

/*******************************************************
            STEP 1
*******************************************************/

.booking-remarks {
    height: 4.5rem;
    overflow: hidden;
    margin-bottom:.5rem;
    transition: .3s;
    position: relative;
    padding-right: 2rem;
}

.booking-remarks::after {
    content: "...";
    position: absolute;
    top: 22px;
    right: 10px;
    font-size: 1.4rem;
}
.booking-remarks.open::after{
    opacity:0;
}

.booking-remarks.open {
    height:auto;
}

.edit-step-form{
    color:var(--text-gray-color);
    flex-wrap: wrap;
    color: var(--text-gray-color);
    padding: 1.5rem 0;
    font-size: 1.4rem;
}
.edit-step-form:not(:last-of-type){
    border-bottom: 1px solid var(--room-separator);
}

.edit-step-form > div:nth-of-type(2), .edit-step-form > div:nth-of-type(3){
    flex-basis: 48%;
}

.edit-step-form > div:nth-of-type(2){
    display:flex;
    justify-content: space-between;
}

select {
    background:white;
}
.step-cart {
    background-color: #f2f2f2;
}

.show-address label {
    width:110px;
    font-size: 14px;
    display: inline-block;
}
.editable {
    padding:10px;
    min-height: 46px;
    border:1px solid var(--cart-border-color);
    width: 100%;
}

.xl-width .editable {
    width: 205px;
}



.step-cart .step-one-cart input[type="checkbox"]{
    min-height:12px;
}

.step-one-cart input:read-only {
    background: white;
    border: none;
    min-height: 20px;
    padding: 0;
    letter-spacing: 1px;
    color: black;
    margin-left: 15px;
}

.step-one-cart input:read-only:focus{
    outline:none;
}

@media (min-width: 992px){

}

.editable-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    text-indent: 1px;
    text-overflow: '';
    pointer-events: none;
    padding: 0;
    border: none;
    margin-left: 15px;
    background:white;
}


.step-cart input:read-only:hover , .step-cart input:read-only:focus {
    outline-color: transparent;
}
.subheading {
    padding: 10px;
    border: 1px solid #1d1d1d;
    border-bottom: none;
    display: inline-block;
}

.edit-step-address {
    border: none;
    background: transparent;
    font-weight: bold;
    padding: 0;
    font-size: 1.6rem;
    color:#0071c2;
    letter-spacing: 1px;
}
.edit-step-address:hover{
    text-decoration: underline;
}

.radio-button::before{
    content: '';
    position: absolute;
    background-color: #fff;
    border-radius: 50px;
    width: 22px;
    height: 22px;
    border: 1px solid #999;
    display: block;
    visibility: visible;
    top: 0;
    right: 0;
}

.checkout-sect .radio-button::before, .checkout-sect input[type=radio]:checked+.radio-button::after  {
    top:-8px;
    right:-8px;
}

input[type=radio]:checked+.radio-button::after{
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    border: none;
    background: #2d2d2d;
    margin: 7px;
    opacity: 1;
    -webkit-animation: fadein .2s;
    animation: fadein .2s;
    top: 1px;
    right: 1px;
    border-radius: 50%;
}
.add-new-address,
.add-new-address-b {
    color: #fff;
    background: var(--primary-color);
    border: none;
    padding: 1rem 2.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    border-radius: 8px;
    font-weight: 600;
}

.checkout-holder {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 12px;
    align-items: stretch;
}

.checkout-holder .checkout {
    width: 100%;
    border-radius: 8px;
}

/* Ensure action buttons fill their container on all breakpoints */
.checkout-holder .checkout,
.checkout-holder .checkout_booking,
.checkout-holder .checkout_auction,
.checkout-holder #checkout,
.checkout-holder #payment,
.checkout-holder #paymentGift,
.checkout-holder .add-new-address,
.checkout-holder .add-new-address-b {
    width: 100%;
    max-width: 100%;
    align-self: stretch;
}

.form-data-width {
    position: relative;
}
.form-data-width label {
    font-size: 12px;    
    background: white;
    position: absolute;
    top: -9px;
    left: 12px;
}

.error-border {
    border:1px solid red!important;
}

.table td {
    border:none;
}
.table thead tr {
    border-top: 1px solid #DADADA;
    border-bottom: 1px solid #DADADA;
}
.table td, .table th{
    padding:1px;

}
.table td, .table th {
    vertical-align: inherit;
    padding: 5px;
}
.cart-table table {
    width: 100%;
}
.cart-table table thead {
    font-weight: bold;
}
.step-one-cart{
    margin: 20px 0 0 0;
    position: relative;
}

.cart-table table, .step-one-cart{
    border:none;
}

.cart-table table td span {
    font-size: 15px;
    font-weight: bold;
}

.cart-table table td img {
    max-width: 150px;
    max-height: 100px;
}

.cart-table table thead tr td:first-of-type{
    width: 190px;
}
.cart-table table thead tr td:nth-of-type(2){
    width: 200px;
    padding-left: 15px;
}
.cart-table table tbody tr{
    border-bottom:1px solid #DADADA;
}
.cart-table table tbody tr td:first-of-type{
    height: 110px;
    position: relative;
}
.cart-table table tbody tr td:nth-of-type(2){
    padding-left:15px;
}
.cart-table table tbody tr td:first-of-type img {
    max-width: 150px;
    position: absolute;
    max-height: 100px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.upload-button {
    background:#D16765;
    font-size: 12px;
    cursor:pointer;
}

.step-one-cart header {

    display:flex;
    justify-content: space-between;
    background: transparent;
    text-align: left;
    font-weight: bold;
    text-transform: uppercase;
    color: var(--radio-backg);
    padding:   15px;
    border: 1px solid #cccccc;
    padding-left: 20px;
    font-size: 18px;
    letter-spacing: 1px;
}

.step-one-cart .active {
    background: white;
    color:var(--text-gray-color);
    border: none;
    /*border-bottom: 1px solid #dadada;*/
}


.step-one-cart header i {
    margin: 0 10px 0 15px;
    font-size:20px;
}

.box-current {
    -webkit-box-shadow: 1px 5px 18px 0px rgba(0,0,0,0.1);
    -moz-box-shadow: 1px 5px 18px 0px rgba(0,0,0,0.1);
    box-shadow: 1px 5px 18px 0px rgba(0,0,0,0.1);
    border: 1px solid #dadada;
    padding-bottom: 20px;
    background:white;
}
.promo-code-cart {
    margin: 20px 0 30px;
}
.promo-code-holder {
    width: 60%;
    margin: auto;
}
.promo-code-holder .left-side {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.promo-code-holder .left-side .promo-code-input{
    display: flex;
}
.promo-code-holder .right-side {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.promo-code-holder .right-side button.apply-promo-btn {
    height: 46;
    border: none;
    font-weight: 600;
    padding: 0 15px;
    background: #29489a;
    color: #fff;
    width: 80px;
    cursor: pointer;
}
.promo-code-holder button.remove-promo-btn {
    height: 35px;
    border: none;
    font-weight: 600;
    padding: 0 15px;
    background: red;
    color: #fff;
    width: 80px;
    cursor: pointer;
}
.estimate-cart {
    padding-bottom:30px;
}
.estimate-cart select {
  border:1px solid #dadada;
  padding:5px;
  color: #504f4f;
}
.address-detail-cart {
  color: #504f4f;
}
.detail-info-cart {
  min-width: 110px;
  display:inline-block;
  text-transform: capitalize;
}


.add_cart .bulk-width {
    width: 67px;
    margin: auto;
    position: relative;
}

.add_cart .minus-amm {
    top: 8px;
    left: 10px;
}

.add_cart .plus-amm {
    top: 8px;
    right: 8px;
}

.promo-code-cart h3, .estimate-cart h3{
    font-size: 16px;
    padding: 15px 15px 15px 5px;
    margin-bottom: 0;
    letter-spacing: 2px;
    text-transform: uppercase;

}
.promo-code-cart h3 i, .estimate-cart h3 i {
    margin-right: 15px;
}


.promo-holder input:first-of-type, .estimate-holder input:first-of-type{
    border:1px solid #DADADA;
    width: 190px;
    height: 30px;
    padding:0;
    border-right: 1px solid transparent;
}

.promo-holder input:nth-of-type(2), .estimate-holder input:nth-of-type(2){
    display: inline-block;
    margin-left: -3px;
    margin-top: -1px;
    border: 1px solid #DADADA;
    height: 30px;
    font-weight: bold;
    color: #D26A66;
    text-align: center;
    background: white;
    padding: 0;
    width: 90px;
}

.total-cart {
    font-family: 'Lato', sans-serif;
    margin-top: 15px;
    letter-spacing: 1px;
}
.total-cart p {
    font-size: 17px;
}

.total-cart p:nth-of-type(3){
    font-weight: bold;
}
.total-cart div span, .total-cart p span{
    float:right;
}
.total-cart div {
    font-size: 20px;
    margin-bottom:20px;
}
#checkout, #payment, .checkout, .checkout-again, .upload-type {
    color: var(--white-color);
    border-radius: .5rem;
    background: var(--primary-color);
    display: inline-block;
    width: 100%;
    font-weight: 600;
    padding: 1rem;
    margin-top: 1rem;
    transition: all .3s ease-in-out;
    /*max-width: 250px;*/
}
/*
#checkout:hover, #payment:hover, .checkout:hover, .checkout-again:hover {
    background:#D16865;
    color:white;
}
*/

#change_address {
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 5px 25px;
    background: #eee;
    border:none;
    transition: all .2s ease-in-out;
}
#change_address:hover{
    background: #ddd;
}




#secure-form {
    color: #D16865;
    border: 1px solid #D16865;
    background: white;
    display: inline-block;
    width: 100%;
    font-weight: bold;
    padding: 3px;
    margin-top: 10px;
}

.active-paymentGift {
  color: #D16865!important;
  border: 1px solid #D16865!important;
}

#payment i, #paymentGift i {
    margin: 0 20px;
}

#couponBtn {
  color: #D16865;
  border: 1px solid #D16865;
  background: white;
  display: inline-block;
  width: 80%;
  font-weight: bold;
  padding: 3px;
  margin-top: 10px;
  font-size: 14px;
  width: 110px;
}

.gift-email{
  max-width:150px;
  border: 1px solid #d5cfcf;
  padding-left:5px;
}

.gift-email-btn {
  color: #D16865;
  border: 1px solid #D16865;
  background: white;
  display: inline-block;
  font-weight: bold;
  padding: 2px;
  padding-left:8px;
  padding-right:8px;
  margin-top: 3px;
}

.qty-btn{
  color: #D16865;
  border: 1px solid #D16865;
  background: white;
  display: inline-block;
  font-weight: bold;
  font-size:14px;
  padding:0px 8px 0px 8px;
}




/*****************  WHISHLIST *****************/
.wishlist-cart {
    border: 1px solid #DADADA;
}

.text-and-btn {
    min-height: 100px;

}
.wishlist-cart header {
    background: #EFEFEF;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    padding: 4px;
    margin-bottom:10px;
}

.image-wish {
    position: relative;
    height: 100px;
    float: left;
    width: 30%;
}
.image-wish img {
    max-height: 90px;
    max-width: 130px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}


.text-and-btn .text{
    display: inline-block;
    margin-left: 0;
    max-width: 260px;
    margin-top: 13px;
}
.text-and-btn .text p:nth-of-type(2){
    color:#444444;
}
.text-and-btn .text span {
    font-weight: bold;
    color: #1d1d1d;
}
.button-wish button {
    position: absolute;
    top: 25px;
    right: 35px;
    font-size: 22px;
    padding: 7px 15px;
}

#promo_code_input {
    letter-spacing: 3px;
    font-weight: bold;
    color: #d16865;
    text-align: center; 
    text-transform:uppercase;
}

#promo_code_input::placeholder {
    font-size:12px;
}

/*****************   PURCHASE HISTORY *****************/
.purchase-history {
    margin-top: 50px;
}
.purchase-history table {
    border:1px solid #DADADA;
}
.purchase-history header {
    background: #EFEFEF;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    padding: 4px;
    border:1px solid #DADADA;
}
.purchase-history table thead {
    font-weight: bold;
}
.purchase-history .table thead>tr>td{
    padding:5px;
}



.purchase-history table tr td:first-of-type{
    text-align: center;
}




.giftcard-box {
    font-size: 14px;
    padding:15px;
    background: #f2f2f2;
}

.giftcard-box>div:nth-of-type(2){
    flex: 0 0 15%;
}

.giftcard-box .giftbox-title {
    letter-spacing: 1px;
    font-weight: 600;
    margin-bottom: 5px;
    font-size: 18px;
}

.qty_modified{
    position:relative;
}
.qty_modified:before {
    position: absolute;
    content: "";
    left: 0;
    top: 50%;
    right: 0;
    border-top: 1px solid;
    border-color: inherit;

    -webkit-transform:rotate(-10deg);
    -moz-transform:rotate(-10deg);
    -ms-transform:rotate(-10deg);
    -o-transform:rotate(-10deg);
    transform:rotate(-10deg);
}
/*******************************************************
            STEP 2
*******************************************************/
#cards_new {
  max-width: 405px;
}

#cards_new input[type=text] {
  width: 400px;
  font-size: 18px;
  border: 1px solid #dadada;
  padding-left: 1.5rem;
}
.checkout-head {
  font-size: 1.8rem;
  padding-left: 5px;
}
.login-cart, .steps-box{
    border:1px solid #EFEFEF;
    margin-top: 20px;
    -webkit-box-shadow: 1px 2px 2px 0px rgba(51,51,51,0.2);
    -moz-box-shadow: 1px 2px 2px 0px rgba(51,51,51,0.2);
    box-shadow: 1px 2px 2px 0px rgba(51,51,51,0.2);
}

.reg-box {
    display:none;
}
.gray-holder i {
    font-size: 20px;
    margin: 0 20px;
}

.steps-box header {
    padding-left:80px;
    text-transform: uppercase;
}
.steps-box .body-form {
    padding: 40px 80px;

}
.log-box, .reg-box {
    transition:all .3s ease-in-out;
}
.steps-box .body-form h3 {
    font-size: 20px;
    margin-bottom: 40px;
}

.steps-box .body-form form input {
    border:2px solid #B6B6B6;
    margin-bottom: 10px;
}
.steps-box .body-form form input, .steps-box .body-form form input::placeholder {
    font-size: 18px;
    color:#8A8A8A;
    font-size: 18px;
    padding-left:5px;
}

.remember-me input{
    width: 20px;
}
#forgotPassBtn, .remember-me, .newsletter-check {
    border:none;
    background:white;
    color: #8A8A8A;
    font-size: 18px;
}
.remember-me input, .newsletter-check input {
    margin-right: 5px;
}

#cart-login {
    background:#4D4D4D;
    color: white;
    border: none;
    margin-top:30px;
    font-weight: bold;
}
.register-link-cart, .login-link-cart{
    margin-left:30px
}
.register-link-cart p:nth-of-type(1), .login-link-cart p:nth-of-type(1){
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 10px;
}
.register-link-cart p:nth-of-type(2), .login-link-cart p:nth-of-type(2) {
    color: #8A8A8A;
    font-size: 18px;
}
.register-link-cart p:nth-of-type(2) a, .login-link-cart p:nth-of-type(2) a {
    border:1px solid #D16865;
    color: #D16865;
    padding:3px 35px;
    font-weight: bold;
    margin-left: 20px;
    text-transform: uppercase;
}

#birthdayForm select{
    padding: 3px 5px;
    border: 1px solid #DADADA;
}

.edit-step-items {
    background:transparent; 
    color: var(--danger-color); 
    border:none; 
    font-size:1.4rem; 
    padding:0;
}
.edit-step-items:hover{
    color: #d16865;
}

/*******************************************************
            STEP 3
*******************************************************/
.cart-3-resp {
  text-align:center;
  font-weight:normal;
  color: #504f4f;
}
form .checkout-select {
    background: #F0F0F0;
    border: 2px solid #B6B6B6;
    height: 30px;
    color: #666666;
    padding-left: 5px;
    font-size: 18px;
    margin-bottom: 10px;
}
.margin-checkout {
    margin-top: 55px;
}
.margin-checkout p:nth-of-type(2){
    margin-top: 0;
}

form .total-cart a {
    color:#1d1d1d;
    font-size: 16px;
    text-decoration: underline;
}




.success-circle {
    color:#008C23;
    font-size: 25px;
}
.succ-hold {
    font-size: 20px;
    margin-bottom: 15px;
}
.succ-hold p {
    font-size: 20px;
    font-weight: bold;
    margin: 10px 0;
}
.table-row-data {
    border-bottom:1px solid #DADADA
}


.step-five table tr td {
    padding:2px;
}
.expect-text{
    font-weight: bold;
    font-size: 16px;
    margin-top: 15px;
    font-family: 'Lato', sans-serif;
}
#back-acc {
    color:#D26A66;
    font-weight: bold;
    text-decoration: underline;
    margin-top: 15px;
    display: inline-block;
}
.gift-card-table  {
    color:#444444;
}
.gift-card-table thead tr td:first-child {
    width: 25%;
}

.gift-card-table tbody tr td input{
    width: 80px;
    font-size: 14px!important;
    margin:5px 0;
}

.gift-card-table tbody tr td i {
    margin-right: 10px;
}

.gift-card-table tr td {
    padding:2px 5px;
}

.change-address {
    position:absolute; 
    right:0; 
    top: 15px;
}


/************ All steps **********/
@media (min-width:992px){
    .add-shipp-address, .add-bill-address {
        display: flex;
        flex-flow: wrap;
    }


    .xl-width form {
        width: 500px;
    }
    .step-cart input:read-only{
        width: 300px;
    }
    .xl-width .editable {
        width:300px;
    }
}


.form-data-width {
    max-width: 400px;
}

/*******************************************************
           RESPONSIVE
*******************************************************/
@media(max-width:767px){

    .cart-body {
        padding:2rem;
    }

    .edit-step-form > div:nth-of-type(2), .edit-step-form > div:nth-of-type(3) {
        flex-basis: 100%;
    }

    .cart-table  table  {
    width: 800px;
    }
    .cart-table table thead tr td:first-of-type {
        width: 120px;
    }
    .cart-table table tbody tr td:first-of-type img{
        max-width: 110px;
    }
    .cart-table table thead tr td:nth-of-type(2){
        width: 140px;
    }
    .cart-table table thead tr td:nth-of-type(3){
        width: 70px;
    }
    .cart-table table tbody tr td:nth-of-type(2) {
        font-size: 14px;
    }
    .purchase-history .table {
        width: 700px;
    }
    .purchase-history .table thead tr td:nth-of-type(2) {
        width: auto;
    }
    .image-wish img {
        max-width: 80px;
        margin-left:0;
    }
    .text-and-btn .text {
        margin-left: 25px;
        width: 195px;
    }
    .register-link-cart, .login-link-cart {
        margin-left: 0;}
    .steps-box header {
        padding-left:25px
    }
    .steps-box header i {
        margin: 0 10px;
    }
    .steps-box .body-form h3 {
        margin-bottom: 20px;
    }
    .remember-me{
        display: block;
        margin-bottom: 10px;
    }
    .register-link-cart p:nth-of-type(2) a, .login-link-cart p:nth-of-type(2) a{
        padding: 3px 20px;
    }
    .register-link-cart , .login-link-cart {
        margin-top: 20px;
    }
    .step-five .table , .step-five .table-row-data {
        width: 600px!important;
    }
    .step-five table .order-info, .step-five .table > thead > tr > td:nth-of-type(1) {
        width: 100px;
     }
     .step-five table .product-name, .step-five .table > thead > tr > td:nth-of-type(2){
         width: 175px;
     }
     .gift-head {
       font-size: 17px;
        margin: 0;
        padding: 5px 5px 5px 15px;
     }
     .total-cart, .purchase-history {
       padding:0 15px;
     }

     #cards_new input[type=text] {
       width: 250px;
     }
     .checkout-head {
       font-size: 16px;
       margin-top:5px;
     }
     .cart-3-resp{
       font-size: 16px;
     }

     .change-address {
        top: -60px;
    }
    #change_address{
        padding:5px 10px;
    }

    .step-cart input:disabled {
        width: 150px;
    }

    .imageCart {
        width: 80px;
        height: auto;
    }

    .add_cart .imageCart {
        width: 180px;
        height: auto;
    }
    .shipp-address .xl-width label, .bill-address .xl-width label {
        display: none;
    }

    .form-data-width label {
        display: inline-block;
    }

    .td-image {
        height:215px;
    }

}
/*
@media (min-width:768px){
    .shipp-address input::placeholder, .bill-address input::placeholder {
        color:white;
    }

    .step-cart input:read-only::placeholder{
        color:white;
    }
}
*/
.step-cart input:read-only::placeholder{
    color:white;
    display: none;
}

@media (min-width:768px) and (max-width:991px){
    .steps-box header {
        padding-left: 15px;
    }
    #forgotPassBtn, .remember-me, .newsletter-check {
        font-size: 16px;
    }
    .gift-email {
      max-width: 100px;
      font-size: 14px;
    }
    .gift-email-btn {
      font-size: 13px;
    }
}


@media (min-width:850px){
    .cart-body {
        display:flex;
    }
}

@media (min-width:992px) and (max-width:1199px){
    .promo-holder input:first-of-type, .estimate-holder input:first-of-type{
        width: 155px;
    }
    .text-and-btn .text {
      width:225px;
    }

}
@media (max-width:440px) {
    .text-and-btn .text {
      margin-left: 0;
      width: 150px;
      margin-bottom: 20px;
      font-size: 15px;
    }
}



@media (max-width:991px){
    .steps-box .body-form {
        padding: 20px 10px;
    }
    #payment i {
        margin: 0 5px;
    }

}

@media(min-width:768px){
    .estimate-cart {
        margin-top:20px;
    }

    .add_cart .rTableRow {
        border: none;
    }
}




table td {
    padding: .5rem;
}



/************************************************
            Table Functionality
************************************************/
.rTableCell .more {
    color: #D16865;
    border: 1px solid #D16865;
    font-weight: bold;
    padding: 3px 15px;
    background: white;
    font-size: 14px;
}


@media (max-width:992px){
  .welcome-section {
    background: black;
    background-position: center center;
    height: 550px;
    padding: 0;

  }

  .welcome-text-holder {
        color: #bfbfbf;
        height: 475px;
    }
}

@media (min-width:768px){
    .rTable {
       display: table;
       width: 100%;
       border-collapse: collapse;
    }
    .rTableRow {
       display: table-row;
       border-top: 1px solid #f2f2f2;
       border-bottom: 1px solid #f2f2f2;
    }
    .rTableHeading {
       display: table-header-group;
       background-color: #ddd;
    }
    .rTableCell, .rTableHead {
       display: table-cell;
       padding: 3px 10px;
       vertical-align: middle;
    }
    .rTableHeading {
       display: table-header-group;
       background-color: #ddd;
       font-weight: bold;
    }
    .rTableFoot {
       display: table-footer-group;
       font-weight: bold;
       background-color: #ddd;
    }
    .rTableBody {
       display: table-row-group;
    }
    .imageCart{
      height: 50px;
      width: 80px;
    }
    .purchase-history .rTableCell table {
      font-size:15px;
    }


}




@media (min-width:768px) and (max-width:1199px){
  .imageCart {
    height: 50px;
  }
  .acc-informations .headRow, .order .headRow, .headRow {
    font-size:14px;
  }
  .rTableRow .rTableCell:nth-of-type(2) p {
    font-size:14px;
  }
  .rTableCell, .rTableHead {
      padding: 3px 5px;
  }

}
@media (min-width:768px) and (max-width:991px){
  .imageCart {
    height: 35px;
  }
}


@media (min-width:768px){
    .d-md-none {
        display:none;
    }
    .text-md-left {
        text-align: left;
    }
}

#promo_response {
    font-weight:bold; 
	display:none;
    margin-top: 5px;
    font-size: 12px;

}

#promo_response.success {
    color:green;
}

#promo_response.error {
    color:red;
}




/* ;;;;;; */


/* Main container */
/* Main container */
.giftcard-container {
    margin-top: 20px;
    padding: 0 16px;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    max-height: 500px;
    overflow-y: auto;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
}

.gift-card-error{
    margin-top: 20px;
}

/* Card */
.giftcard-card {
    background: white;
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    border-left: 5px solid #4299e1;
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: relative;
    overflow: hidden; /* Prevent expansion */
    margin-bottom: 20px;
}

/* Applied status badge */
.giftcard-status {
    position: absolute;
    top: 16px;
    right: 16px;
    padding: 4px 12px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.giftcard-status.applied {
    background: #c6f6d5;
    color: #22543d;
}

.giftcard-status.available {
    background: #bee3f8;
    color: #2a4365;
}

/* Header */
.giftcard-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: nowrap; /* Prevent wrapping to avoid vertical expansion */
    gap: 16px;
    /* padding-right: 80px; */
}

.giftcard-left {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
    min-width: 0; /* Allow text truncation */
}

.giftcard-icon-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.giftcard-icon {
    width: 40px;
    height: 40px;
    background: #4299e1;
    border-radius: 8px;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.giftcard-info {
    min-width: 0;
}

.giftcard-label {
    font-size: 14px;
    color: #4a5568;
    font-weight: 600;
    margin: 0;
}

.giftcard-id {
    font-size: 12px;
    color: #718096;
    margin: 0;
}

.giftcard-from-section {
    margin-top: 4px;
}

.giftcard-from-title {
    font-size: 11px;
    color: #718096;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
}

.giftcard-from-details {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.giftcard-from-name {
    font-size: 14px;
    font-weight: 600;
    color: #2d3748;
    /* white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; */
    word-break: break-word;
}

.giftcard-from-email {
    font-size: 12px;
    color: #718096;
    /* white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; */
    word-break: break-word;
}

.giftcard-right {
    text-align: right;
    min-width: 100px;
    flex-shrink: 0;
}

.giftcard-amount {
    font-size: 24px;
    font-weight: 800;
    color: #2d3748;
    line-height: 1.2;
}

.giftcard-available {
    font-size: 12px;
    color: #718096;
    margin-top: 4px;
}
.amount-placeholder {
    color: #718096;
}

/* Bottom section */
.giftcard-bottom {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    justify-content: space-between;
    align-items: center;
}

.giftcard-stats {
    display: flex;
    gap: 12px;
    flex: 1;
    min-width: 280px;
}

.giftcard-stat {
    flex: 1;
    text-align: center;
    padding: 12px 8px;
    border-radius: 8px;
    font-size: 13px;
}

.giftcard-stat.total {
    background: #f7fafc;
    color: #2d3748;
}

.giftcard-stat.using {
    background: #fffaf0;
    color: #d69e2e;
}

.giftcard-stat.left {
    background: #f0fff4;
    color: #38a169;
}

.giftcard-stat .label {
    color: #718096;
    margin-bottom: 4px;
    font-weight: 500;
}

.giftcard-stat .value {
    font-weight: 700;
    font-size: 14px;
}

/* Input */
.giftcard-input-wrapper {
    position: relative;
    width: 180px;
    min-width: 180px;
    flex-shrink: 0;
}

.giftcard-input {
    width: 100%;
    padding: 12px 40px 12px 12px;
    border: 2px solid #e2e8f0;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    background: #f7fafc;
    box-sizing: border-box;
}

.giftcard-input:focus {
    outline: none;
    border-color: #4299e1;
    background: white;
}

.giftcard-remove-btn {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 32px;
    height: 32px;
    background: #e53e3e;
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.giftcard-remove-btn:hover {
    background: #c53030;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    /* .giftcard-header {
        padding-right: 60px;
    } */
    
    .giftcard-amount {
        font-size: 20px;
    }

    .giftcard-stats {
        min-width: unset;
        flex-wrap: wrap;
    }

    .giftcard-stat {
        padding: 10px 6px;
        font-size: 12px;
    }

    .giftcard-stat .value {
        font-size: 13px;
    }
}

@media (max-width: 600px) {
    .giftcard-card {
        padding: 20px;
    }

    .giftcard-header {
        flex-direction: column;
        align-items: flex-start;
        padding-right: 0;
        gap: 12px;
    }

    .giftcard-status {
        position: relative;
        top: 0;
        right: 0;
        align-self: flex-end;
        margin-bottom: -8px;
    }

    .giftcard-bottom {
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
    }

    .giftcard-input-wrapper {
        width: 100%;
        min-width: unset;
    }

    .giftcard-stats {
        gap: 8px;
        flex-wrap: wrap;
    }

    .giftcard-stat {
        padding: 8px 4px;
    }
}