.elementor-855 .elementor-element.elementor-element-a6756a6{--display:flex;}.elementor-855 .elementor-element.elementor-element-c276331{margin:80px 0px calc(var(--kit-widget-spacing, 0px) + 60px) 0px;}/* Start custom CSS for shortcode, class: .elementor-element-c276331 *//* General card wrapper */
.hb-wrap { 
    border: none; 
    padding: 0; 
}

/* Progress bar */
.hb-progress { 
    display:flex; 
    gap:8px; 
    margin-bottom:16px; 
    flex-wrap:wrap; 
}
.hb-step { 
    padding:8px 12px; 
    border-radius:999px; 
    background:#f5f5f5; 
    font-size:14px; 
}
.hb-step.active { 
    background:#222; 
    color:#fff; 
}

/* Card grid */
.hb-grid { 
    display:grid; 
    grid-template-columns: repeat(auto-fill, minmax(220px,1fr)); 
    gap:20px; 
}

/* Individual card */
.hb-card { 
    display:flex; 
    flex-direction: column; 
    justify-content: space-between;
    border:1px solid #eee; 
    border-radius:12px; 
    padding:12px; 
    cursor:pointer; 
    transition:.2s; 
    background:#fff;
    position: relative; 
}
.hb-card:hover { 
    box-shadow:0 6px 20px rgba(0,0,0,.08); 
}

/* Radio button */
.hb-card input[type=radio] { 
    position:absolute; 
    inset:8px auto auto 8px; 
}

/* Product image */
.hb-card .hb-img img { 
    width:100%; 
    height:280px; 
    object-fit: cover; 
    border-radius:8px; 
    display:block;
}

/* Title */
.hb-title { 
    font-weight:600; 
    margin-top:12px; 
    font-size:14px; 
    text-align:center;
    line-height:1.2;
}

/* Price */
.hb-price { 
    font-size:14px; 
    opacity:.9; 
    text-align:center; 
    margin-top:6px;
}

/* Star rating */
.hb-rating { 
    text-align:center; 
    margin:6px 0;
}

/* Select Options Button */
.hb-select-btn { 
    display:block; 
    width:100%; 
    text-align:center; 
    background:#000; 
    color:#fff; 
    padding:8px 0; 
    font-size:13px; 
    font-weight:600; 
    border:none; 
    border-radius:6px; 
    cursor:pointer; 
    margin-top:8px;
    text-transform:uppercase;
}
.hb-card.selected { 
    outline:2px solid #222; 
    border-radius:12px; 
}

/* Variations */
.hb-variations { 
    margin-top:8px; 
    display:grid; 
    gap:8px; 
}
.hb-var-field span { 
    display:block; 
    font-size:12px; 
    margin-bottom:4px; 
}

/* Navigation and summary */
.hb-nav { 
    margin-top:16px; 
    color:#003c37; 
    display:flex; 
    gap:8px; 
}
.hb-summary { 
    margin-top:16px; 
    border-top:1px dashed #ddd; 
    padding-top:12px; 
}
.hb-summary-list { 
    margin:0; 
    padding-left:18px; 
}
.hb-total { 
    font-size:18px; 
}
.hb-note { 
    margin-top:8px; 
    font-size:12px; 
    color:#555; 
}
.hb-inline { 
    display:flex; 
    align-items:center; 
    gap:8px; 
}/* End custom CSS */