
/* =========================================
   GLOBAL RESET
========================================= */

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

body{
  font-family:'Poppins', sans-serif;
  background:#f7f2eb;
  overflow-x:hidden;
}

/* =========================================
   ANNOUNCEMENT BAR
========================================= */

.announcement-bar{
  height:20px;

  background:
    linear-gradient(
      to right,
      #2f1d11,
      #4a2f1d,
      #2f1d11
    );

  overflow:hidden;

  position:relative;

  border-bottom:
    1px solid rgba(255,255,255,.06);
}

.announcement-track{
  height:100%;

  display:flex;
  align-items:center;

  width:max-content;

  animation:
    announcementMove 24s linear infinite;
}

.announcement-track span{
  color:#f5e4cf;

  font-size:13px;

  letter-spacing:.5px;

  white-space:nowrap;

  margin-right:80px;

  display:flex;
  align-items:center;

  gap:8px;
}

.announcement-bar::after{
  content:"";

  position:absolute;

  inset:0;

  background:
    linear-gradient(
      90deg,
      rgba(255,255,255,0),
      rgba(255,255,255,.05),
      rgba(255,255,255,0)
    );

  pointer-events:none;
}

@keyframes announcementMove{

  from{
    transform:translateX(100%);
  }

  to{
    transform:translateX(-100%);
  }

}

/* =========================================
   LUXURY HEADER
========================================= */

.khati-header{

  width:100%;

  backdrop-filter:blur(10px);

  box-shadow:
    0 4px 20px rgba(0,0,0,.06);
}

.top-bar{
  background:
    linear-gradient(
      135deg,
      #7B4F2C,
      #5f3b20
    );

  padding:14px 28px;

  color:#fff;

  border-bottom:
    1px solid rgba(255,255,255,.08);
}

.top-bar .row{
  width:100%;
  align-items:center;
}

.top-bar .col-md-3,
.top-bar .col-md-6{
  display:flex;
  align-items:center;
}

.top-bar .col-md-6{
  justify-content:center;
}

.top-bar .col-md-3:last-child{
  justify-content:flex-end;
  gap:28px;
}

/* =========================================
   LOGO
========================================= */

.logo-link{
  text-decoration:none;
  color:inherit;

  display:inline-block;
}

.logo-wrap{
  display:flex;
  align-items:center;
  gap:14px;
}

.site-logo{
  width:56px;
  height:56px;

  object-fit:cover;

  border-radius:16px;

  box-shadow:
    0 4px 14px rgba(0,0,0,.18);
}

.logo-text{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.logo-main{
  font-size:28px;

  font-family:'Playfair Display', serif;

  font-weight:600;

  letter-spacing:-1px;

  line-height:1;

  color:#fff;
}

.logo-main span{
  color:#d4a24c;
}

.logo-tagline{
  margin-top:4px;

  font-size:7px;

  letter-spacing:2px;

  text-transform:uppercase;

  color:#e4c899;
}

/* =========================================
   LOCATION
========================================= */

.location{
  padding-left:8px;
  white-space:nowrap;
}

.location small{
  font-size:11px;
  color:#e7d8ca;

  letter-spacing:.5px;
}

.location b{
  font-size:14px;
  font-weight:600;
}

/* =========================================
   SEARCH BAR
========================================= */

.search-bar{
  display:flex;

  width:100%;
  max-width:720px;

  height:50px;

  background:#fff;

  border-radius:999px;

  overflow:hidden;

  box-shadow:
    0 8px 24px rgba(0,0,0,.12);
}

.search-bar input{
  flex:1;

  border:none;
  outline:none;

  padding:0 24px;

  font-size:15px;

  background:transparent;
}

.search-bar input::placeholder{
  color:#999;
}

.search-bar button{
  width:72px;

  border:none;

  background:
    linear-gradient(
      135deg,
      #d4a24c,
      #bb892d
    );

  color:#fff;

  font-size:20px;

  transition:.2s;
}

.search-bar button:hover{
  filter:brightness(1.05);
}

/* =========================================
   ACCOUNT / MENU
========================================= */

.account-link{
  text-decoration:none;
  color:inherit;
}

.header-item{
  color:#fff;

  cursor:pointer;

  transition:.2s;
}

.header-item small{
  font-size:12px;

  color:#f1dfcf;
}

.header-item b{
  font-size:16px;
  font-weight:600;
}

.header-item:hover{
  transform:translateY(-1px);
}

/* =========================================
   CART
========================================= */

.cart-box{
  position:relative;

  width:44px;
  height:44px;

  border-radius:50%;

  display:flex;
  align-items:center;
  justify-content:center;

  background:
    rgba(255,255,255,.08);

  border:
    1px solid rgba(255,255,255,.12);

  cursor:pointer;

  transition:.25s;
}

.cart-box:hover{
  background:
    rgba(255,255,255,.15);
}

.cart-box i{
  font-size:20px;
  color:#fff;
}

.cart-box span{
  position:absolute;

  top:-2px;
  right:-2px;

  min-width:20px;
  height:20px;

  border-radius:50%;

  background:#ff3d57;

  color:#fff;

  font-size:10px;
  font-weight:600;

  display:flex;
  align-items:center;
  justify-content:center;

  padding:0 5px;

  border:2px solid #7B4F2C;
}

/* =========================================
   MENU BAR
========================================= */

.bottom-bar{

    background:
    linear-gradient(
    to right,
    #5a3e2b,
    #4a2f1d
    );

    padding:1px 10px;

    border-top:
    1px solid rgba(255,255,255,.05);
}

.bottom-bar .container-fluid{

    display:flex;

    align-items:center;

    gap:34px;
}

.bottom-bar a{

    position:relative;

    color:#fff;

    text-decoration:none;

    font-size:15px;

    font-weight:500;

    transition:.25s;
}

.bottom-bar a::after{

    content:"";

    position:absolute;

    left:0;
    bottom:-7px;

    width:0%;
    height:2px;

    background:#d4a24c;

    transition:.25s;
}

.bottom-bar a:hover{

    color:#f3d29b;
}

.bottom-bar a:hover::after{

    width:100%;
}

/* =========================================
   COMMON BUTTONS
========================================= */

.btn-primary{
  background:#7B4F2C !important;
  border:none !important;
}

.btn-primary:hover{
  background:#5f3b20 !important;
}

/* =========================================
   LUXURY FOOTER
========================================= */

.site-footer{
  background:
    linear-gradient(
      135deg,
      #2f1d11,
      #4a2f1d
    );

  color:#fff;

  margin-top:90px;

  padding-top:70px;

  overflow:hidden;
}

.footer-container{
  padding-left:40px;
  padding-right:40px;
}

.footer-brand{
  max-width:420px;
}

.footer-logo-wrap{
  display:flex;
  align-items:center;

  gap:18px;

  margin-bottom:24px;
}

.footer-logo{
  width:72px;
  height:72px;

  object-fit:cover;

  border-radius:18px;

  box-shadow:
    0 10px 24px rgba(0,0,0,.25);
}

.footer-logo-wrap h2{
  font-size:34px;

  margin:0;

  font-family:'Playfair Display', serif;

  font-weight:600;

  color:#fff;
}

.footer-logo-wrap span{
  color:#d4a24c;

  font-size:13px;

  letter-spacing:2px;

  text-transform:uppercase;
}

.footer-description{
  color:#dccbbd;

  line-height:2;

  font-size:15px;
}

.footer-title{
  font-size:18px;

  margin-bottom:22px;

  color:#fff;

  font-weight:600;
}

.footer-links{
  display:flex;
  flex-direction:column;

  gap:14px;
}

.footer-links a{
  color:#d8c5b6;

  text-decoration:none;

  transition:.25s;

  font-size:15px;
}

.footer-links a:hover{
  color:#d4a24c;

  transform:translateX(4px);
}

.footer-bottom{
  margin-top:60px;

  padding:24px 0;

  border-top:
    1px solid rgba(255,255,255,.08);

  text-align:center;

  color:#cdb7a5;

  font-size:14px;

  letter-spacing:.5px;
}

/* =========================================
   LUXURY CART OFFCANVAS
========================================= */

.offcanvas{
  background:
    linear-gradient(
      180deg,
      #f8f4ef,
      #f3ece4
    ) !important;

  border-left:
    1px solid rgba(0,0,0,.06);
}

.offcanvas-header{
  padding:24px 26px;

  border-bottom:
    1px solid #eadfce;
}

.offcanvas-header h5{
  font-size:28px;

  color:#6b4423;

  font-family:'Playfair Display', serif;

  font-weight:600;

  margin:0;
}

.cart-product-title{

  font-size:16px;

  font-weight:600;

  line-height:1.35;

  color:#2f2f2f;

  margin-bottom:8px;

  display:-webkit-box;

  -webkit-line-clamp:2;

  -webkit-box-orient:vertical;

  overflow:hidden;
}


.offcanvas .btn-close{
  opacity:1;

  background-size:12px;

  transition:.25s;
}

.offcanvas .btn-close:hover{
  transform:rotate(90deg);
}

.offcanvas-body{
  padding:24px;

  overflow-y:auto;
}

.cart-item{
  display:flex;

  gap:16px;

  align-items:center;

  background:#fff;

  border-radius:22px;

  padding:16px;

  margin-bottom:18px;

  box-shadow:
    0 10px 24px rgba(0,0,0,.05);

  transition:.25s;
}

.cart-item:hover{
  transform:translateY(-3px);
}

.cart-item img{
  width:90px;
  height:90px;

  object-fit:cover;

  border-radius:18px;

  background:#f3ece4;
}

.cart-item-info{
  flex:1;
}

.cart-item-title{
  font-size:17px;

  color:#222;

  font-weight:600;

  line-height:1.5;

  margin-bottom:8px;
}

.cart-item-price{
  color:#8B5A2B;

  font-size:20px;

  font-weight:700;

  font-family:'Playfair Display', serif;
}

.cart-item-qty{
  margin-top:8px;

  font-size:14px;

  color:#777;
}

.remove-cart-item{
  width:38px;
  height:38px;

  border:none;

  border-radius:50%;

  background:#fff2f4;

  color:#ff5577;

  font-size:15px;

  display:flex;
  align-items:center;
  justify-content:center;

  transition:.25s;
}

.remove-cart-item:hover{
  background:#ff5577;

  color:#fff;

  transform:scale(1.08);
}

.offcanvas .border-top{
  border-color:#e7daca !important;

  background:#fffaf4;

  padding:24px !important;
}

.offcanvas .border-top h5{
  font-size:28px;

  color:#6b4423;

  margin-bottom:18px;

  font-family:'Playfair Display', serif;

  font-weight:600;
}

.offcanvas .btn-success{
  width:100%;

  height:56px;

  border:none;

  border-radius:999px;

  background:
    linear-gradient(
      135deg,
      #8B5A2B,
      #6d4523
    ) !important;

  font-size:16px;

  font-weight:600;

  letter-spacing:.3px;

  transition:.25s;

  box-shadow:
    0 10px 22px rgba(139,90,43,.22);
}

.offcanvas .btn-success:hover{
  transform:translateY(-2px);

  filter:brightness(1.05);
}

.empty-cart{
  text-align:center;

  padding:80px 20px;
}

.empty-cart i{
  font-size:64px;

  color:#c9ad90;

  margin-bottom:18px;
}

.empty-cart h4{
  color:#6b4423;

  margin-bottom:10px;

  font-family:'Playfair Display', serif;

  font-size:30px;
}

.empty-cart p{
  color:#777;

  font-size:15px;
}

.offcanvas-body::-webkit-scrollbar{
  width:6px;
}

.offcanvas-body::-webkit-scrollbar-thumb{
  background:#cfb08d;

  border-radius:999px;
}

/* =========================================
   RESPONSIVE
========================================= */

@media(max-width:991px){

  .top-bar{
    padding:12px 16px;
  }

  .logo-main{
    font-size:24px;
  }

  .site-logo{
    width:48px;
    height:48px;
  }

  .search-bar{
    height:46px;
  }

  .bottom-bar{
    overflow-x:auto;
    white-space:nowrap;
  }

}

@media(max-width:768px){

  .location{
    display:none;
  }

  .header-item{
    display:none;
  }

  .search-bar{
    margin-top:12px;
  }

  .top-bar .col-md-3:last-child{
    gap:14px;
  }

  .footer-container{
    padding-left:20px;
    padding-right:20px;
  }

  .footer-logo-wrap h2{
    font-size:28px;
  }

  .site-footer{
    padding-top:50px;
  }

}

@media(max-width:600px){

  .offcanvas{
    width:100% !important;
  }

  .cart-item{
    gap:12px;

    padding:14px;
  }

  .cart-item img{
    width:74px;
    height:74px;
  }

  .cart-item-title{
    font-size:15px;
  }

  .cart-item-price{
    font-size:18px;
  }

  .offcanvas-header h5{
    font-size:24px;
  }

}

/* =========================================
   CART TOAST
========================================= */

.cart-toast{
  position:fixed;

  right:24px;
  bottom:24px;

  background:
    linear-gradient(
      135deg,
      #8B5A2B,
      #6d4523
    );

  color:#fff;

  padding:16px 22px;

  border-radius:18px;

  font-size:15px;

  z-index:99999;

  box-shadow:
    0 18px 40px rgba(0,0,0,.18);

  transform:
    translateY(40px);

  opacity:0;

  transition:.3s ease;
}

/* =========================================
   LUXURY ACCOUNT
========================================= */

.luxury-account{
    display:flex;

    flex-direction:column;

    justify-content:center;

    text-decoration:none;

    min-width:140px;

    transition:.25s;
}

.luxury-account:hover{
    transform:translateY(-1px);
}

/* TOP LINE */

.account-top{
    display:flex;

    align-items:flex-end;

    gap:6px;

    line-height:1;
}

/* HELLO */

.hello-text{
    font-size:12px;

    color:#e5d5c6;

    letter-spacing:.4px;

    margin-bottom:4px;
}

/* NAME */

.account-name{
    font-size:20px;

    font-family:'Playfair Display', serif;

    font-weight:600;

    color:#fff;

    letter-spacing:-.3px;
}

/* LABEL */

.account-label{
    margin-top:2px;

    font-size:12px;

    color:#d9b98d;

    letter-spacing:.5px;
}

/* =========================================
   HEADER ACTIONS FIX
========================================= */

.header-actions{
    display:flex;

    justify-content:flex-end;

    align-items:center;

    gap:26px;
}

/* ACCOUNT + ORDERS */

.luxury-account{
    text-decoration:none;

    min-width:92px;

    transition:.25s;
}

.luxury-account:hover{
    transform:translateY(-1px);
}

/* TOP TEXT */

.account-top{
    display:flex;

    align-items:center;

    gap:5px;

    line-height:1;
}

.hello-text{
    font-size:13px;

    color:#f3dfcf;

    font-weight:400;
}

.account-name{
    font-size:16px;

    color:#fff;

    font-weight:600;
}

/* LABEL */

.account-label{
    margin-top:6px;

    font-size:14px;

    color:#f1d9c4;

    font-weight:500;
}

/* CART */

.cart-box{
    position:relative;

    width:48px;
    height:48px;

    border-radius:50%;

    display:flex;

    align-items:center;
    justify-content:center;

    transition:.25s;

    cursor:pointer;
}

.cart-box:hover{
    background:rgba(255,255,255,.08);
}

.cart-box i{
    font-size:28px;

    color:#fff;
}

/* SEARCH BAR BALANCE */

.search-bar{
    max-width:820px;

    margin:auto;
}

/* RESPONSIVE */

@media(max-width:1200px){

    .header-actions{
        gap:18px;
    }

    .account-name{
        font-size:15px;
    }

}

@media(max-width:991px){

    .header-actions{
        display:none;
    }

}

/* =========================================
   CART TOAST
========================================= */

#cart-toast{

    position:fixed;

    right:24px;

    bottom:24px;

    background:#111;

    color:#fff;

    padding:14px 22px;

    border-radius:14px;

    font-size:14px;

    font-weight:500;

    z-index:99999;

    opacity:0;

    transform:
    translateY(20px);

    transition:.3s;

    box-shadow:
    0 14px 30px rgba(0,0,0,.18);
}

.show-toast{

    opacity:1 !important;

    transform:
    translateY(0) !important;
}

/* =========================================
   CART MODAL
========================================= */

.cart-item{
  display:flex;
  gap:14px;
  padding:14px 0;
  border-bottom:1px solid #eee;
  align-items:center;
}

.cart-item-image{
  width:78px;
  height:78px;
  border-radius:14px;
  overflow:hidden;
  background:#f8f8f8;
  flex-shrink:0;
}

.cart-item-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.cart-item-info{
  flex:1;
}

.cart-item-title{
  font-size:14px;
  font-weight:600;
  color:#333;
  line-height:1.5;
  margin-bottom:6px;
}

.cart-item-price{
  font-size:15px;
  font-weight:700;
  color:#7B4F2C;
  margin-bottom:10px;
}

.cart-item-qty{
  display:flex;
  align-items:center;
  gap:10px;
}

.cart-item-qty button{
  width:28px;
  height:28px;
  border:none;
  border-radius:8px;
  background:#f2e7db;
  color:#6b3f1d;
  font-weight:700;
  cursor:pointer;
}

.cart-item-qty span{
  font-size:14px;
  font-weight:600;
}

.cart-remove-btn{
  border:none;
  background:none;
  color:#b94d4d;
  font-size:18px;
  cursor:pointer;
}

.empty-cart{
  text-align:center;
  padding:50px 10px;
  color:#777;
  font-size:15px;
}

/* =========================================
   HEADER WRAPPER
========================================= */

.header-wrapper{

  position:fixed;

  top:0;
  left:0;

  width:100%;

  z-index:999;

  transition:
  transform .32s ease;

  will-change:transform;
}

/* =========================================
   HEADER SHOW / HIDE
========================================= */

.header-hidden{

  transform:
  translateY(-110%);
}

/* BODY SPACE */

body{

  padding-top:122px;
}

@media(max-width:768px){

    .site-footer{
        text-align:center;
    }

    .footer-brand{
        max-width:100%;
        margin:auto;
    }

    .footer-logo-wrap{
        justify-content:center;
    }

    .footer-links{
        align-items:center;
    }

}

@media(max-width:768px){

    .footer-logo{
        width:56px;
        height:56px;
    }

    .footer-logo-wrap h2{
        font-size:24px;
    }

}

.footer-title{

    position:relative;

    display:inline-block;

    padding-bottom:8px;
}

.footer-title::after{

    content:"";

    position:absolute;

    left:0;
    bottom:0;

    width:40px;
    height:2px;

    background:#d4a24c;
}

@media(max-width:768px){

    .footer-title::after{

        left:50%;

        transform:translateX(-50%);
    }

}

@media(max-width:768px){

    /*.footer-title{
        margin-top:20px;
    }
*/
    .footer-links{
        gap:10px;
    }

}

@media(max-width:768px){

    .site-footer .row{
        row-gap:24px !important;
    }

}

@media(max-width:768px){

    .footer-description{
        max-width:280px;
        margin:0 auto;
        line-height:1.8;
    }

}


@media(max-width:768px){

    .footer-title{
        margin-bottom:12px;
    }

    .footer-links{
        gap:8px;
    }

}

@media(max-width:768px){

    .site-footer{

        padding-top:40px;
        padding-bottom:20px;
        margin-top:50px;
    }

}

@media(max-width:768px){

    .site-footer .row{

        row-gap:20px !important;
    }

    /* Brand Full Width */

    .site-footer .col-lg-4{

        width:100%;
        flex:0 0 100%;
        max-width:100%;
        margin-bottom:10px;
    }

    /* 3 Columns In One Row */

    .site-footer .col-lg-2,
    .site-footer .col-lg-3,
    .site-footer .col-md-4{

        width:33.333%;
        flex:0 0 33.333%;
        max-width:33.333%;
    }

    .footer-title{

        font-size:15px;
        margin-bottom:10px;
    }

    .footer-links{

        gap:6px;
    }

    .footer-links a{

        font-size:12px;
    }

}


@media(max-width:768px){

    .footer-description{

        max-width:320px;
        margin:0 auto;
        font-size:13px;
        line-height:1.7;
    }

}