.hcs-badge, body .out-of-stock-badge[data-shape] {
    display:inline-block; padding:6px 11px;
    background:#ede6dc; color:#3e3933; border:1px solid #ded4c6; border-radius:4px;
    font-family:inherit; font-size:11px; font-weight:600; line-height:1.4;
    letter-spacing:.12em; vertical-align:middle; height:auto; min-height:0; min-width:0; box-sizing:border-box; box-shadow:none;
    --badge-text-color:#3e3933; --badge-background-color:#ede6dc;
}
.hcs-badge { position:static; margin:0 0 12px; }
.hcs-coming-soon .out-of-stock-badge { display:none!important; }
/* Keep the kit's style/composition preview, but never show a buying control while flagged. */
.single-product .hcs-coming-soon .woocommerce-variation-add-to-cart { display:none!important; }
.hcs-card-image { position:relative; display:block; }
.hcs-card-image > .hcs-badge { position:absolute; top:12px; left:12px; z-index:3; margin:0; pointer-events:none; }
.ct-product-gallery-container > .out-of-stock-badge,
.hcs-gallery-badges { position:absolute; top:12px; left:12px; right:auto; bottom:auto; z-index:3; margin:0; pointer-events:none; }
.hcs-gallery-badges { display:flex; flex-wrap:wrap; align-items:flex-start; gap:6px; max-width:calc(100% - 66px); }
.hcs-gallery-badges > .hcs-badge,
.hcs-gallery-badges > .onsale { position:static!important; margin:0!important; }
@media(max-width:480px) {
    .hcs-card-image > .hcs-badge { top:8px; left:8px; padding:5px 8px; font-size:10px; }
    .ct-product-gallery-container > .out-of-stock-badge,
    .hcs-gallery-badges { top:8px; left:8px; }
    body .ct-product-gallery-container > .out-of-stock-badge[data-shape],
    .hcs-gallery-badges > .hcs-badge { padding:5px 8px; font-size:10px; }
}
.hcs-panel { clear:both; margin:24px 0; padding:22px; border:1px solid #e3dbd1; border-radius:14px; background:#f7f4ef; color:#3e3933; }
.hcs-panel p { line-height:1.65; }
.hcs-form label { display:block; margin:0 0 6px; font-weight:500; }
.hcs-form .hcs-fields { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.hcs-form .hcs-fields input, .hcs-form .hcs-fields button { box-sizing:border-box; height:50px; min-height:50px; margin:0; }
.hcs-form .hcs-fields input { flex:1 1 190px; min-width:0; width:auto; background:#fff; }
.hcs-form .hcs-fields button { flex:1 1 200px; padding:10px 16px; border:0; border-radius:6px; background:#242321; color:#fff; font:inherit; cursor:pointer; }
.hcs-form .hcs-fields button:disabled { opacity:.65; cursor:wait; }
.hcs-form .hcs-privacy { font-size:12px; line-height:1.65; margin:12px 0 0; color:#625c55; }
.hcs-form a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.hcs-form :focus-visible { outline:2px solid #7b634b; outline-offset:3px; }
.hcs-form .hcs-status { font-size:14px; margin:10px 0 0; }
.hcs-form .hcs-status:empty { display:none; }
.hcs-form .hcs-honey { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.hcs-form .hcs-status[data-error="true"] { color:#9b2525; }
@media(max-width:480px) {
    .hcs-panel { padding:18px; }
    .hcs-form .hcs-fields { display:grid; grid-template-columns:minmax(0,1fr); }
    .hcs-form .hcs-fields input, .hcs-form .hcs-fields button { width:100%; }
}
