/** Shopify CDN: Minification failed

Line 627:3 Unexpected "/"

**/
/* ======================================================
   GLOBAL
====================================================== */

:root{
    --primary:#8C6A43;
    --secondary:#F6F2EC;
    --border:#E6E2DC;
    --text:#222;
    --muted:#666;
    --white:#fff;
    --radius:18px;
    --transition:.3s ease;
    --blue: #213456;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
    color:var(--text);
    background:#fafafa;
    line-height:1.5;
}

img{
    width:100%;
    display:block;
}

button{
    cursor:pointer;
    border:none;
    outline:none;
    transition:.3s;
}

a{
    text-decoration:none;
}

select,
input,
textarea{
    outline:none;
    font-family:inherit;
}


/* ======================================================
   WRAPPER
====================================================== */

/* .hb-wrapper{
    max-width:1400px;
    margin:auto;
    padding:60px 20px;
} */

.hb-wrapper{
    max-width:1400px;
    margin:20px auto;
    padding:70px 20px;
}

/* ======================================================
   HEADER
====================================================== */

.hb-header{
    text-align:center;
    margin-bottom:50px;
}

.hb-tag{
    display:inline-block;
    background:#f1e9dd;
    color:var(--primary);
    padding:10px 20px;
    border-radius:40px;
    font-size:14px;
    margin-bottom:18px;
    font-weight:600;
}

.hb-title{
    font-size:48px;
    font-weight:700;
    margin-bottom:20px;
}

.hb-subtitle{
    max-width:750px;
    margin:auto;
    color:#666;
    font-size:18px;
    line-height:1.8;
}


/* ======================================================
   STEPPER
====================================================== */

.hb-stepper{
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:60px;
    gap:25px;
    flex-wrap:wrap;
}

.hb-stepper .step{
    display:flex;
    align-items:center;
    gap:12px;
}

.hb-stepper span{
    width:42px;
    height:42px;
    border-radius:50%;
    background:#ddd;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:bold;
}

.hb-stepper .active span{
    background:var(--primary);
    color:#fff;
}

.hb-stepper p{
    font-weight:600;
}

.hb-stepper .line{
    width:100px;
    height:2px;
    background:#ddd;
}



/* ======================================================
   MAIN LAYOUT
====================================================== */

.hb-container{
    display:grid;
    grid-template-columns:minmax(0,2fr) 420px;
    gap:40px;
    align-items:start;
    width:100%;
     padding:0px 70px 0px 70px;
}


/* ======================================================
   LEFT
====================================================== */

.hb-left{
    display:flex;
    flex-direction:column;
    gap:50px;
}


/* ======================================================
   SECTION
====================================================== */

.hb-section{
    background:#fff;
    border-radius:20px;
    padding:35px;
    box-shadow:0 8px 30px rgba(0,0,0,.05);
}

.section-title{
    margin-bottom:30px;
}

.step-number{
    color:var(--primary);
    font-weight:700;
    font-size:14px;
    text-transform:uppercase;
    letter-spacing:1px;
}

.section-title h2{
    margin-top:10px;
    font-size:30px;
}


/* ======================================================
   VESSEL GRID
====================================================== */

.vessel-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:25px;
    width:100%;
}

.vessel-placeholder{
    height:220px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:48px;
    background:#f3f3f3;
}

.vessel-card{
    border:2px solid var(--border);
    border-radius:20px;
    overflow:hidden;
    background:#fff;
    transition:.3s;
    cursor:pointer;
}

.vessel-card:hover{
    transform:translateY(-6px);
    border-color:var(--primary);
    box-shadow:0 15px 40px rgba(0,0,0,.08);
}

.vessel-card.active{
    border-color:var(--primary);
    box-shadow:0 15px 35px rgba(140,106,67,.15);
}

.vessel-card img{
    aspect-ratio:1;
    object-fit:cover;
}

.vessel-card h3{
    /* padding:18px; */
    text-align:center;
    font-size:18px;
    font-weight:600;
}

/* ======================================================
   FALLBACK EMOJI PLACEHOLDER (when no image uploaded)
====================================================== */

.vessel-card .opt-img-wrap,
.product-card .opt-img-wrap{
    width:100%;
    /* aspect-ratio:1; */
    border-radius:12px;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    padding-top:10px;
    /* background:var(--secondary); */
    /* margin-bottom:15px; */
}

.vessel-card .opt-img-wrap img,
.product-card .opt-img-wrap img{
    width:100%;
    height:100%;
    object-fit:cover;
    margin-bottom:0;
    border-radius:0;
}

.opt-emoji{
    font-size:56px;
    line-height:1;
}


/* ======================================================
   TABS
====================================================== */

.hb-tabs{
    display:flex;
    gap:15px;
    flex-wrap:wrap;
    margin-bottom:30px;
}

.hb-tab{
    background:#f5f5f5;
    border:2px solid var(--border);  
    color:var(--text);               
    padding:14px 24px;
    border-radius:40px;
    font-size:15px;
    font-weight:600;
    transition:.3s;
}

.hb-tab:hover{
    background:var(--primary);
    border-color:var(--primary);
    color:#fff;
}

.hb-tab.active{
    background:var(--primary);
    border-color:var(--primary);
    color:#fff;
}

/* .hb-tab{
    background:#f5f5f5;
    padding:14px 24px;
    border-radius:40px;
    font-size:15px;
    font-weight:600;
    transition:.3s;
}

.hb-tab:hover{
    background:var(--primary);
    color:#fff;
}

.hb-tab.active{
    background:var(--primary);
    color:#fff;
} */

.tab-content{
    display:none;
}

.tab-content.active{
    display:block;
}

/* ======================================================
   PRODUCT GRID
====================================================== */

.product-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:25px;
    width:100%;
}

.product-card{
    background:#fff;
    border:1px solid #e5e5e5;
    border-radius:18px;
    padding:18px;
    transition:var(--transition);
}

.product-card:hover{
    transform:translateY(-5px);
    box-shadow:0 15px 35px rgba(0,0,0,.08);
    border-color:var(--primary);
}

.product-card img{
    width:100%;
    height:220px;
    aspect-ratio:1;
    object-fit:cover;
    border-radius:12px;
    margin-bottom:15px;
}

.product-card h4{
    font-size:18px;
    margin-bottom:15px;
    text-align:center;
    /* min-height:48px; */
}

.product-card,
.vessel-card{
    min-width:0;
    overflow:hidden;
}

.qty-box,
.weight-select,
.add-btn{
    min-width:0;
    max-width:100%;
}


/* ======================================================
   WEIGHT SELECT
   Hidden by default. !important forces this regardless of
   any other CSS (theme globals, select-styling plugins,
   cached stylesheets, load order, etc.) that might otherwise
   win the cascade.
====================================================== */

.product-card .weight-select{
    width:100%;
    height:48px;
    border:1px solid var(--border);
    border-radius:12px;
    padding:0 15px;
    margin-bottom:18px;
    background:#fff;
    font-size:15px;
    display:none !important;
}

.product-card.expanded .weight-select{
    display:block !important;
}

.product-card .weight-select,
.product-card .weight-select + .select2-container{
    display:none !important;
}

.product-card.expanded .weight-select,
.product-card.expanded .weight-select + .select2-container{
    display:inline-block !important;
}

/* ======================================================
   QUANTITY
   Hidden by default. !important forces this regardless of
   any other CSS that might otherwise win the cascade.
====================================================== */

.product-card .qty-box{
    display:none !important;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin-bottom:20px;
}

.product-card.expanded .qty-box{
    display:flex !important;
}

/* Flower panel's qty-box is not inside .product-card, so it
   needs its own always-visible rule (unaffected by the
   .product-card hidden-by-default rule above). */
.flower-options .qty-box{
    display:flex !important;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin-bottom:20px;
}


.summary-item{
    align-items:center;
}

.summary-qty{
    display:flex;
    align-items:center;
    gap:10px;
}

.summary-qty button{
    width:32px;
    height:32px;
    background:#f2f2f2;
    color:var(--text);
    font-weight:700;
    border-radius:50%;
    font-size:16px;
    line-height:1;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:none;
}

.summary-qty button:hover{
    background:var(--primary);
    color:#fff;
}

.summary-qty .s-qty{
    min-width:20px;
    text-align:center;
    font-weight:600;
}

/* .qty-box button{
    width:42px;
    height:42px;
    background:#f2f2f2;
    color:var(--text);
    font-weight:700;
    border-radius:50%;
    font-size:20px;
    line-height:1;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:none;
} */

/* .qty-box button:hover{
    background:var(--primary);
    color:#fff;
} */

/* .qty-box input{
    width:70px;
    height:42px;
    border:none;
    text-align:center;
    font-size:17px;
    background:transparent;
} */

.qty-box{
    padding:6px;
    background:#fafafa;
    border-radius:50px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:14px;
}

.qty-box button{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    max-width:38px !important;
    padding:0 !important;
    margin:0 !important;
    background:#fff !important;
    border:1px solid var(--border) !important;
    color:var(--text);
    font-weight:700;
    border-radius:50% !important;
    line-height:1;
    display:flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    flex-shrink:0;
    transition:.2s ease; 
    font-size:13px;
}

.qty-box button:hover{
    background:var(--primary) !important;
    border-color:var(--primary) !important;
    color:#fff;
}

.qty-box button:active{
    transform:scale(.92);
}

.qty-box input{
    width:44px;
    height:38px;
    border:none !important;
    outline:none !important;
    box-shadow:none !important;
    text-align:center;
    font-size:17px;
    font-weight:600;
    background:transparent !important;
    -moz-appearance:textfield;
    appearance:textfield;
    padding:0;
    flex-shrink:0;
}

.qty-box input::-webkit-outer-spin-button,
.qty-box input::-webkit-inner-spin-button{
    -webkit-appearance:none;
    margin:0;
}

/* .qty-box input{
    width:70px;
    height:42px;
    border:none !important;
    outline:none !important;
    box-shadow:none !important;
    text-align:center;
    font-size:17px;
    background:transparent !important;
    -moz-appearance:textfield;
    appearance:textfield;
}

/* Remove native up/down spinner arrows (Chrome, Safari, Edge) */
.qty-box input::-webkit-outer-spin-button,
.qty-box input::-webkit-inner-spin-button{
    -webkit-appearance:none;
    margin:0;
} */


/* ======================================================
   BUTTONS
====================================================== */

.add-btn{
    width:100%;
    min-height:48px;
    padding:12px 10px;
    background:var(--primary);
    color:#fff;
    border-radius:12px;
    font-size:13px;
    font-weight:600;
    white-space:nowrap;
    display:flex;
    align-items:center;
    justify-content:center;
    line-height:1.2;
}

#nutsbtn{
    font-size:13px;
    width:100%;
    min-height:48px;
    padding:12px 10px;
    background:var(--blue);
    color:#fff;
    border-radius:12px;
    font-size:13px;
    font-weight:600;
    white-space:nowrap;
    display:flex;
    align-items:center;
    justify-content:center;
    line-height:1.2;

}
/* .add-btn{
    width:100%;
    height:48px;
    background:var(--primary);
    color:#fff;
    border-radius:12px;
    font-size:13px;
    font-weight:600;
} */

.add-btn:hover{
    background:#6f5334;
}



/* ======================================================
   FLOWERS
====================================================== */

.flower-toggle{
    margin-bottom:30px;
}

.flower-toggle h3{
    margin-bottom:15px;
}

.flower-toggle label{
    margin-right:30px;
    cursor:pointer;
    font-weight:500;
}

.flower-options{
    margin-top:25px;
}

.flower-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
    margin-bottom:30px;
}

.flower-card{
    border:2px solid var(--border);
    border-radius:15px;
    padding:15px;
    cursor:pointer;
    transition:.3s;
    text-align:center;
}

.flower-card:hover{
    border-color:var(--primary);
}

.flower-card.active{
    border-color:var(--primary);
    background:#faf7f3;
}

.flower-color{
    width:60px;
    height:60px;
    border-radius:50%;
    margin:auto;
    margin-bottom:12px;
    border:3px solid #fff;
    box-shadow:0 0 0 1px #ddd;
}



/* ======================================================
   GIFT MESSAGE
====================================================== */

#giftMessage{
    width:100%;
    min-height:150px;
    border:1px solid var(--border);
    border-radius:15px;
    padding:18px;
    resize:none;
    font-size:15px;
}

#giftMessage:focus{
    border-color:var(--primary);
}



/* ======================================================
   SUMMARY
====================================================== */

.hb-summary{
    position:sticky;
    top:40px;
    max-height:calc(100vh - 80px);
}

.summary-card{
    background:#fff;
    border-radius:20px;
    padding:30px;
    box-shadow:0 10px 30px rgba(0,0,0,.06);
    display:flex;
    flex-direction:column;
    max-height:calc(100vh - 80px);
    overflow:hidden;
}

.summary-card h2{
    margin-bottom:25px;
    font-size:28px;
}

#summaryItems{
    overflow-y:auto;
    flex:1 1 auto;
    min-height:0;
    padding-right:6px;
}

.summary-empty{
    color:#888;
    text-align:center;
    padding:40px 0;
}

.summary-item{
    display:flex;
    justify-content:space-between;
    gap:15px;
    margin-bottom:15px;
    padding-bottom:15px;
    border-bottom:1px solid #eee;
}

.summary-item h4{
    font-size:16px;
}

.summary-item p{
    font-size:14px;
    color:#666;
}

.summary-message{
    margin-top:25px;
    padding-top:20px;
    border-top:1px solid #eee;
}

.summary-message h4{
    margin-bottom:10px;
}

.summary-message p{
    color:#666;
    line-height:1.6;
}



/* ======================================================
   SUBMIT BUTTON
====================================================== */

.submit-btn{
    width:100%;
    height:55px;
    margin-top:30px;
    background:#25D366;
    color:#fff;
    border-radius:12px;
    font-size:17px;
    font-weight:700;
}

.submit-btn:hover{
    background:#1ebe5d;
}

/* ======================================================
   RESPONSIVE - LARGE TABLET
====================================================== */

@media (max-width:1200px){

    .hb-container{
        grid-template-columns:1fr;
        padding: 0px;
    }

    .hb-summary{
        /* position:relative;
        top:auto; */
        position:-webkit-sticky;   /* Safari */
        position:sticky;
        top:40px;
        align-self:start; 
    }

}


/* ======================================================
   TABLET
====================================================== */

@media (max-width:992px){

    .hb-wrapper{
        padding:50px 20px;
    }

    .hb-title{
        font-size:40px;
    }

    .hb-subtitle{
        font-size:16px;
    }

    .section-title h2{
        font-size:26px;
    }

    .vessel-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .product-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .flower-grid{
        grid-template-columns:repeat(3,1fr);
    }

}


/* ======================================================
   MOBILE
====================================================== */

@media (max-width:767px){

    .hb-wrapper{
        padding:30px 15px;
    }

    .hb-title{
        font-size:32px;
    }

    .hb-subtitle{
        font-size:15px;
    }

    .hb-stepper{
        flex-direction:column;
        gap:15px;
    }

    .hb-stepper .line{
        width:2px;
        height:35px;
    }

    .hb-section{
        padding:20px;
    }

    .vessel-grid{
        grid-template-columns:1fr;
    }

    .product-grid{
        grid-template-columns:1fr;
    }

    .flower-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .hb-tabs{
        flex-direction:column;
    }

    .hb-tab{
        width:100%;
    }

    .summary-card{
        margin-top:20px;
    }

}


/* ======================================================
   SMALL MOBILE
====================================================== */

@media (max-width:480px){

    .hb-title{
        font-size:28px;
    }

    .section-title h2{
        font-size:22px;
    }

    .product-card{
        padding:15px;
    }

    .flower-grid{
        grid-template-columns:1fr 1fr;
    }

    .qty-box input{
        width:50px;
    }

    .weight-select{
        width:100%;
        text-align:center;
    }

    .summary-card{
        padding:20px;
    }

     .add-btn{
        font-size:13px;
    }

}


/* ======================================================
   ANIMATIONS
====================================================== */

.vessel-card,
.product-card,
.flower-card{
    transition:.3s ease;
}

.vessel-card:hover,
.product-card:hover,
.flower-card:hover{
    transform:translateY(-6px);
}

.add-btn,
.submit-btn,
.hb-tab{
    transition:.3s ease;
}

.add-btn:hover,
.submit-btn:hover{
    transform:translateY(-2px);
}


/* ======================================================
   SCROLLBAR
====================================================== */

::-webkit-scrollbar{
    width:8px;
}

::-webkit-scrollbar-thumb{
    background:#b89b77;
    border-radius:20px;
}

::-webkit-scrollbar-track{
    background:#f5f5f5;
}