/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Description: Child theme for Astra.
Author: Budnaked
Author URI: https://getbudnaked.com
Template: astra
Version: 1.0.0
*/

/* Import parent theme style */
@import url("../astra/style.css");

.product-detail .slick-dots {
    position: absolute;
    bottom: -25px;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
    /* background-color: white; */
}

.product-detail .slick-dots li {
    width: auto;
    height: auto;
}

.product-detail .slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 10px;
    height: 10px;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: 1px solid #ffffff;
    outline: none;
    background: transparent;
    border-radius: 50%;
}

.product-detail .slick-dots li.slick-active button {
    background: #fff;
}



@media only screen and (min-width: 1439px){
    .desktop-container > .e-con-inner {
        max-width: 1300px !important;
    }
}
@media only screen and (min-width: 1700px){
    .desktop-container > .e-con-inner {
        max-width: 1680px !important;
    }
}

.italic-text::before {
    background-color: #FCD814;
    content: "";
    transform: skew(-10deg);
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
}
.italic-text h2{
        z-index: 1;
    position: relative;
}
.header-section {
    backdrop-filter: blur(80px);
    border: 1px solid !important;
    border-image-source: linear-gradient(90deg, #000000 0%, #FCD814 49.52%, #000000 100%) !important;
    position: relative;
    border-image-slice: 1 !important;
    display: inline-block;
    background: #FFFFFF1A !important;
    border-radius: 100px;
}
.countdown  .elementor-countdown-item span.elementor-countdown-digits {
    background-position: center;
    background-image: url(https://getbudnaked.com/wp-content/uploads/2025/10/calendar.png);
    padding: 50px 40px;
    background-repeat: no-repeat;
    background-size: cover;
}
.countdown .elementor-countdown-item {
    display: flex;
    flex-direction: column-reverse;
}
.product-list {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
    flex-wrap: wrap;
}
.product-detail {
    border: 4px solid #F4F4F4;
    padding: 50px 40px;
    max-width: 1254px;
    margin: 0 auto;
    width: 100%;
}
.product-thumb {
    text-align: center;
    margin-bottom: 35px;
    height: 636px;
    object-fit: contain;
}
.product-detail .product-thumb img {
    height: 636px;
    object-fit: contain;
}
.product-content .product-title {
    display: flex;
    gap: 20px;
    justify-content: space-between;
    border-bottom: 5px solid #FFFFFF;
    padding-bottom: 15px;
}
.product-content .product-title h3 {
    color: #FFFFFF;
    font-size: 2.5vw;
    font-weight: 700;
    font-family: 'Roboto Condensed';
}
.product-info form{
    display: flex;
    align-items: end;
    padding: 30px 0 0;
    gap: 30px;
}
.product-info .item-subtitle p {
    color: #FFFFFF;
    font-size: 2.2vw;
    font-weight: 700;
    font-family: 'Poppins';
    margin: 0;
    line-height: 1.3;
}
.item-qty p, .select-flavor p{
    margin-bottom: 10px;
    color: #FFFFFF;
    font-size: 1.25vw;
    font-weight: 700;
    font-family: 'Poppins';
}
.item-qty input[type="number"]{
    width: 100%;
    font-size: 2vw;
}
.item-qty input[type="number"], .cdrop__btn {
    line-height: 1.3;
    font-weight: 700;
    border-radius: 8px;
    height: 65px;
    font-family: 'Poppins';
    color: #000000;
    padding: 12px 16px;
}
.cdrop__btn{
    padding-right: 25px;
}
.cdrop__btn {
    width: 100%;
    font-size: 1.146vw;
}
.product-info .addtocart button {
    padding: 30px 50px;
    display: block;
    background-color: #FCD814;
    color: #000000;
    font-size: 1.667vw;
    font-weight: 700;
    font-family: 'Poppins';
    border-radius: 8px;
    line-height: 1;
    display: flex;
    align-items: center;
    white-space: nowrap;
    gap: 10px;
    width: 100%;
    text-align: center;
    justify-content: center;
}
.product-info .addtocart button img{
    width: 2.292vw;
    height: 2.292vw;
}
 .product-info form{
    gap: 15px;
    justify-content: space-around;
}
 .product-detail{
    padding: 40px 24px;
}   
.two-column > .elementor-element {
    width: calc(50% - 5px);
}
.product-ratings{
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: end;
}
 .rating-stars{
    display: flex;
    gap: 1px;
    align-items: center;
}
.product-ratings .rating-stars img{
    width: 1.302vw;
    height: 1.302vw;
}
 .ratings-num p{
    color: #FFFFFF;
    font-size: 1.25vw;
    font-weight: 700;
    font-family: 'Poppins';
    margin-bottom: 0;
}
  .item-price p{
    margin-bottom: 0;
    line-height: 1.3;
}
 .item-price p.sale-price{
    color: #FFFFFF;
    font-size: 2.2vw;
    font-weight: 700;
    font-family: 'Poppins';
}
 .item-price p.reg-price{
    color: #837C7C;
    font-size: 1.1vw;
    font-weight: 700;
    font-family: 'Poppins';
    position: relative;
}

.item-price p.sale-price span{
    color: red;
    font-size: 1vw;
    padding-left: 3px;
}

.item-price p.reg-price del{
    text-decoration-color: red;
}
/* .item-price p.reg-price::after {
    content: "";
    z-index: 9;
    background-image: url(./images/reg-price-line.svg);
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    width: 83px;
    left: -10px;
    height: 100%;
    background-size: contain;
} */
.product-info:last-child {
    border-top: 5px solid #FF051F;
    margin-top: 24px;
}
.product-info .addtocart button:hover{
    color: #000000;
}
/* .desktop-container:not(.two-column) .no-quantity .item-qty input {
    width: 200px;
} */
.marquee-text{
    font-size: 20px;
    font-weight: 300;
    font-family: 'Poppins';
}
.two-column .item-subtitle {
    width: 22%;
}
.two-column .item-price {
    width: 20%;
}
.two-column .item-qty {
    width: 15%;
}
.two-column .addtocart {
    width: 45%;
}
 .one-column .item-subtitle {
    width: 22%;
}
 .one-column  .item-price {
    width: 12%;
}
 .one-column  .item-qty {
    width: 10%;
}
 .one-column  .addtocart {
    width: 40%;
}
.select-flavor {
    width: 28%;
}
.two-column .product-info.no-quantity .addtocart {
    width: 20%;
}
.two-column .product-info.no-quantity .addtocart button {
    font-size: 0;
}
.no-quantity .select-flavor {
    width: 35%;
}
.header-section .elementor-menu-cart__container{
        overflow: unset;
}
.desktop-container .header-section {
    position: relative;
    z-index: 99;
}
.header-section .elementor-lightbox .elementor-menu-cart__products{
    overflow-x: unset;
    min-height: 220px;
    overflow-y: auto;
    max-height: 230px !important;
}
.header-section .elementor-lightbox .elementor-menu-cart__main{
        left: auto;
    overflow-y: auto;
    right: 130px;
    min-height: fit-content;
    padding-bottom: 90px;
}

.elementor-menu-cart__footer-buttons a.elementor-button.elementor-button--view-cart , .elementor-menu-cart__footer-buttons  a.elementor-button.elementor-button--checkout.elementor-size-md {
    background-color: var(--e-global-color-fe17d5c) !important;
    color: #000 !important;
}
.elementor-menu-cart__product-name a {
    color: #000000 !important;
}
.elementor-menu-cart__product-price.product-price span {
    color: #6a6a6a !important;
}
.elementor-menu-cart__product-remove.product-remove {
    border-color: #6a6a6a !important;
}
.elementor-menu-cart__product-remove.product-remove:before, .elementor-menu-cart__product-remove.product-remove:after {
    background: #6a6a6a !important;
}



.sf-add-to-cart{ position:relative; }
.sf-add-to-cart.is-loading{ pointer-events:none; opacity:.85; }
.sf-add-to-cart.is-loading .label{ visibility:hidden; }
.sf-add-to-cart.is-loading::after{
content:""; position:absolute; inset:0; margin:auto;
width:18px; height:18px; border:2px solid currentColor; border-right-color:transparent;
border-radius:50%; animation: sfspin .7s linear infinite;
}
.sf-add-to-cart.is-success::after{ content:"✓"; font-weight:700; font-size:16px; }
.sf-add-to-cart.is-error::after{ content:"!"; font-weight:700; font-size:16px; }
@keyframes sfspin{ to{ transform:rotate(360deg);} }

.sf-cart-msg .ok{ color:#38a169; } .sf-cart-msg .err{ color:#e53e3e; }
.sf-cart-msg {
    display: none;              
    font-size: 0.952vw;
    margin-top: 0;
        white-space: pre-line;
    width: 100%;
    right: 30px;
    margin-left: auto;
    left: auto;
    text-align: end;
    }
    .sf-cart-msg.show {
    display: block;             
    }


/* Custom select dropdown css start */    

:root{
    --bd:#e5e7eb; --bd2:#d1d5db; --txt:#111827; --muted:#6b7280; --accent:#111827; --bg:#fff; --chip:#f3f4f6;
    --ring:#11182733; --shadow:0 10px 24px rgba(0,0,0,.08);
    --radius:12px;
}

.pack{min-width:140px;padding:10px 12px;border:1px solid var(--bd);border-radius:10px;background:var(--bg)}
.help{font-size:13px;color:var(--muted);margin:6px 0 18px}

/* Custom dropdown */
.cdrop{position:relative}
.cdrop__btn{
    width:100%;border:1px solid var(--bd);border-radius:var(--radius);
    background:var(--bg);display:flex;gap:0;align-items:center;justify-content:start;cursor:pointer
}
.cdrop__btn:focus{outline:none;box-shadow:0 0 0 4px var(--ring)}
.cdrop__placeholder{color:var(--muted)}
.cdrop__tags{display:flex;flex-wrap:wrap;gap:6px;}
.tag{background:var(--chip);border:1px solid var(--bd2);padding:4px 8px;border-radius:999px;font-size:13px;display:flex;gap:6px;align-items:center}
.tag__x{cursor:pointer;line-height:1}
.cdrop__chev{margin-left:8px;opacity:.7}
.cdrop.open .cdrop__chev{transform:rotate(180deg)}
.cdrop__menu{
    position:absolute;inset:auto 0 0 0;transform:translateY(calc(100% + 3px));
    background:var(--bg);border:1px solid var(--bd);border-radius:8px;box-shadow:var(--shadow);z-index:20;display:none
}
.cdrop.open .cdrop__menu{display:block}

.cdrop__list{max-height:260px;overflow:auto;padding:6px}
.opt{display:flex;gap:8px;align-items:center;padding:8px 10px;border-radius:10px;cursor:pointer}
.opt input{pointer-events:none}
.opt:hover{background:#f9fafb}
.opt.disabled{opacity:.5;cursor:not-allowed}
.counter{font-size:14px;margin-top:6px}
.counter.ok{color:#0a7a1f}
.counter.warn{color:#b45309}
.actions{margin-top:14px}
.cdrop__list label.opt {
    font-size: 0.729vw;
    line-height: 1.2;
}
button.add{
    padding:10px 16px;border-radius:10px;border:0;background:var(--accent);color:#fff;font-weight:600;opacity:.5;cursor:not-allowed
}
button.add.enabled{opacity:1;cursor:pointer}
.cdrop__btn .cdrop__placeholder{
    line-height: 1.3;
    font-weight: 700;
    font-family: 'Poppins';
    color: #000000;
}  
.cdrop__btn {
    border-radius: 8px;
}      
.cdrop__btn:hover, .cdrop__btn:focus{
    background: white;
    border-color: white;
}
.cdrop__btn img {
    margin-left: auto;
    width: 1.042vw;
}
.sf-cart-msg {
    position: absolute;
    
}
 
.desktop-container  .review-sec
{
    position: relative;
    padding-top: 70px;
}
.desktop-container .review-sec::before {
    content: "" !important;
    z-index: 2;
    background-image: url(./images/quote-bottom.svg);
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    width: 80px;
    left: 0;
    right: 0;
    height: 77px;
    border-radius: 0;
    top: -40px;
    border: 0;
    margin: 0 auto;
    background-size: contain;
    background-color: #0c0c0c;
}
.desktop-container .review-sec::after{
    content: "" !important;
    z-index: 1;
    background-color: #0c0c0c;
    width: 160px;
    left: 0;
    position: absolute;
    right: 0;
    height: 120px;
    border: 0;
    margin: 0 auto;
    border-radius: 0;
    top: -70px;
}

@media only screen and (max-width: 1700px){
    .product-info .addtocart button{
        padding: 25px 20px;
    }
    .item-qty p, .select-flavor p{
        margin-bottom: 2px;
    }
   .desktop-container:not(.two-column) .product-detail {
        max-width: 1000px;
    }
    
}
@media only screen and (max-width: 1438px){
     .item-qty input[type="number"], .cdrop__btn{
        height: 55px;
     }
    .one-column .product-ratings .rating-stars img{
        width: 2.441vw;
        height: 2.441vw;
    }
    .one-column .product-content .product-title h3{
        font-size: 4.688vw;
    }
    .one-column .ratings-num p{
        font-size: 2.344vw;
    }
    .two-column .product-ratings .rating-stars img{
        width: 1.667vw;
        height: 1.667vw;
    }
    .two-column .product-content .product-title h3{
        font-size: 3vw;
    }
    .two-column .ratings-num p{
        font-size: 1.667vw;
     }
    .product-info .addtocart button{
        padding: 25px 10px;
    }
    .product-detail {
        padding: 40px 20px;
    }
} 
@media only screen and (max-width: 1199px){
    .product-detail {
        padding: 30px 20px;
    }
      .sf-cart-msg{
        right: 25px;
    }
    .item-qty p, .select-flavor p{
        margin-bottom: 0px;
    }
    .item-qty input[type="number"] {
        padding: 12px;
    }
    .cdrop__btn{
        padding: 12px;
    }
    .item-price p.reg-price::after{
        width: 48px;
        left: -5px;
    }
    .product-info form{
        padding-top: 20px;
    }
    .product-thumb, .product-detail .product-thumb img {
        height: 430px;
        object-fit: contain;
    }
    .two-column  .product-detail {
        padding: 30px 20px;
    }
    .sf-cart-msg{
        right: 25px;
    }
    .two-column .item-price p.reg-price::after{
        width: 35px;
        left: -5px;
    }
    .two-column .product-info form{
        padding-top: 20px;
    }
    .header-section .elementor-lightbox .elementor-menu-cart__main{
        right: 10px;
    }
    .desktop-container .review-sec::before{
        width: 70px;
        height: 80px;
        top: -40px;
    }
    .desktop-container  .review-sec
    {
        padding-top: 50px;
    }
}

@media only screen and (max-width: 992px){
    .cdrop__btn{
        padding-right: 20px;
    }
    .two-column .product-detail {
        padding: 20px 10px;
    }
    
    .sf-cart-msg{
        right: 15px;
    }
    .two-column  .addtocart button {
        padding: 18px 10px;
    }
    .item-qty input[type="number"], .cdrop__btn {
        height: 45px;
         padding: 8px;
    }
    .two-column .product-ratings{
        gap: 4px;
    }
    .two-column  .two-column .product-info form{
        gap: 10px;
    }
    .product-thumb, .product-detail .product-thumb img {
        height: 350px;
    }
    .product-info form{
        gap: 10px;
    }
    .two-column .item-price {
        width: 20%;
    }
   .two-column .item-qty {
        width: 18%;
    }
   .one-column .product-info .item-subtitle p{
            font-size: 3.75vw;
    }
    .one-column .item-price p.sale-price{
        font-size: 3.333vw;
    }
   .one-column .item-price p.reg-price{
        font-size: 2.0vw;
        display: flex;
    }
    .one-column .item-qty p, .one-column .select-flavor p{
            font-size: 1.757vw;
    }
   .one-column .product-info .addtocart button{
        font-size: 1.875vw;
    }
    
   .one-column .addtocart button{
        padding: 22px 10px;
    }
    .one-column .cdrop__btn{
        font-size: 2vw;
    }
    .item-price p.sale-price span{
        font-size: 1.5vw;
        padding-left: 2px;
    }
    .cdrop__list label.opt{
        font-size: 2vw;
        padding: 5px;
        gap: 4px;
    }
    .cdrop__list label.opt input{
        width: 10px;
        height: 10px;
    }
 }

@media only screen and (max-width: 767px){

    .product-info form{
        gap: 10px;
    }
   .two-column  .item-qty input[type="number"], .two-column  .cdrop__btn {
        height: 40px;
        font-weight: 400;
        padding: 5px;
    }
    .item-qty p, .select-flavor p{
        font-weight: normal;
    }
        .item-price p.reg-price::after {
        width: 33px;
        left: -5px;
    }
     .product-detail {
        border: 2px solid #F4F4F4;
    }
    .countdown.elementor-widget-countdown  .elementor-countdown-item span.elementor-countdown-digits {
        margin: 10px auto 0;
        padding: 30px 10px;
        width: 100%;
    }
     .countdown.elementor-widget-countdown .elementor-countdown-item{
        display: flex;
        flex-direction: column-reverse;
        flex-basis: unset !important;
        flex-grow: unset !important;
        width: 70px;
    }
     .countdown.elementor-widget-countdown .elementor-countdown-wrapper {
        flex-wrap: nowrap;
        flex-direction: unset;
        gap: 10px;
    }
    .two-column .item-price p.reg-price::after {
        width: 30px;
        left: -5px;
    }
    .two-column .item-qty p, .two-column .select-flavor p {
        /* font-size: 14px; */
        font-weight: 500;
    }
    .two-column .addtocart button {
        padding: 18px 5px;
        gap: 5px;
        line-height: 1;
    }
    .two-column .addtocart button img {
        /* width: 13px;*/
    } 
    .product-content .product-title{
        border-bottom: 2px solid #FFFFFF;
        padding-bottom: 10px;
        gap: 10px;
    }
    .two-column .product-info form{
        gap: 6px;
    }
    .product-info:last-child{
        border-top: 2px solid #FF051F;
    }
    .two-column .item-qty input[type="number"] {
        height: 40px;
    }
    .two-column > .elementor-element {
        width: calc(50% - 1px);
    }
    .select-flavor {
        width: 30%;
    }
   .one-column .product-info .addtocart button img {
        width: 3.1vw;
        height: 3.1vw;
    }
    .one-column .addtocart {
        width: 35%;
    }
    .one-column .select-flavor {
        width: 33%;
    }
    .sf-cart-msg {            
        font-size: 1.693vw;
    }
    .product-list{
        margin-bottom: 2px;
    }
    .desktop-container .review-sec::before{
        width: 50px;
        height: 70px;
        top: -40px;
    }
    .desktop-container .review-sec::after{
        width: 100px;
        height: 60px;
        top: -30px;
    }
    .desktop-container  .review-sec
    {
        padding-top: 40px;
    }
}
@media only screen and (max-width: 575px){
     .product-detail {
        padding: 20px 10px;
    }
    .sf-cart-msg{
        right: 15px;
    }
    .product-thumb , .product-detail .product-thumb img {
        height: 180px;
    }
    .two-column .product-thumb ,   .two-column .product-detail .product-thumb img {
        height: 140px;
    }
    .item-qty input[type="number"], .cdrop__btn{
        height: 35px;
        padding: 5px;
    }
     .two-column  .item-qty input[type="number"], .two-column  .cdrop__btn {
        height: 20px;
        border-radius: 4px;
    }
    .two-column .cdrop__btn {
        padding: 4px;
    }
    .two-column .item-qty p{
        margin-bottom: -5px;
    }
    .two-column .addtocart button {
        padding: 8px 4px;
        gap: 3px;
        border-radius: 4px;
    }
     .item-price p.reg-price::after {
        width: 20px;
        left: -5px;
    }
    .two-column .product-info form {
        gap: 5px;
    }
    .two-column .product-info form {
        padding-top: 10px;
    }
    .product-info:last-child {
        margin-top: 14px;
    }
    .two-column .product-detail {
        padding: 20px 5px;
    }
     .two-column  .sf-cart-msg{
        right: 10px;
    }
    .one-column .product-info .addtocart button {
        font-size: 2.1vw;
        gap: 5px;
    }
    .one-column .product-info form {
        gap: 5px;
    }
    .one-column .addtocart button {
        padding: 15px 10px;
        border-radius: 4px;
    }
    .two-column  .product-info .item-subtitle p{
        font-size: 2.4vw;
    }
        .two-column .item-price p.reg-price::after {
        width: 20px;
        left: -5px;
    } 
    .cdrop__btn {
        font-size: 1.3vw;
    }
    .marquee-text {
        font-size: 18px;
    }
    
    .desktop-container .review-sec::before{
        width: 30px;
        height: 30px;
        top: -20px;
    }
    .desktop-container .review-sec::after{
        width: 60px;
        height: 40px;
        top: -20px;
    }
}

@media only screen and (max-width: 426px){
 
     .cdrop__btn{
        padding-right: 13px;
     }
    .item-qty input[type="number"], .cdrop__btn {
            height: 25px;
        padding: 5px;
        border-radius: 4px;
    }
    .one-column  .item-qty input[type="number"]   {
        padding: 7px;
    }
    .one-column .addtocart button {
        padding: 10px 10px;
    }
   
    .one-column .item-qty p{
        margin-bottom: -3px;
    }
}

.bn-mini-icons {
    display: flex;
    justify-content: center;
}

span.bn-mini-icon {
    width: 25px;
    margin: 10px;
}

div#bn-mini-extra {
    margin-top: 20px;
}

.bn-mini-trust-text {
  background: #111;
  color: #f4d06f;
  border-radius: 10px;
  padding: 10px 12px;
  margin-top: 10px;
  text-align: center;
  font-size: 13px;
  letter-spacing: 0.3px;
  font-weight: 600;
  box-shadow: 0 0 10px rgba(0,0,0,0.25);
}

.bn-mini-trust-text::before {
  content: "✔️  ";
  font-size: 14px;
}
.bn-mini-trust-text::after {
  content: " 🔒";
  font-size: 14px;
}


/* tune once here */
:root{
  --bn-badge-size: 64px;   /* badge width */
  --bn-badge-gap: 12px;    /* space from bottom/right */
}

/* make the minicart the positioning + clipping context and reserve space for the badge */
.elementor-menu-cart__main,
.woocommerce-mini-cart{
  position: relative;
  padding-bottom: calc(var(--bn-badge-size) + var(--bn-badge-gap) + 8px); /* prevents overlap */
  overflow: hidden;  /* keeps badge inside the panel */
}

/* badge position */
#bn-mini-badge-wrap.bn-mini-badge-wrap{
  position: absolute;
  right: var(--bn-badge-gap);
  bottom: var(--bn-badge-gap);
  z-index: 1;        /* keep it under any popovers if needed */
  pointer-events: none;
}

.bn-mini-badge{
  width: var(--bn-badge-size);
  height: auto;
  border-radius: 50%;
  box-shadow: 0 3px 8px rgba(0,0,0,.25);
  opacity: .95;
  transition: transform .25s ease, opacity .25s ease;
  pointer-events: auto;     /* set to auto if clickable */
}

/* smaller on narrow screens */
@media (max-width: 480px){
  :root{ --bn-badge-size: 52px; }
}