.hbp-configurator{
	border:1px solid rgba(0,0,0,.14);
	border-radius:18px;
	padding:22px;
	margin:0 0 22px;
	background:rgba(255,255,255,.035);
}
.hbp-configurator .hbp-field{margin:0 0 18px}
.hbp-configurator label{display:block;font-weight:700;margin-bottom:7px}
.hbp-configurator select,
.hbp-configurator input[type="file"]{
	width:100%;
	min-height:48px;
	padding:10px 12px;
	border:1px solid rgba(0,0,0,.2);
	border-radius:10px;
	background:#fff;
	color:#181818;
}
.hbp-configurator .hbp-capture-field label{
	display:flex;
	gap:9px;
	align-items:flex-start;
	font-weight:650;
}
.hbp-configurator small{display:block;opacity:.72;margin-top:6px;line-height:1.4}
.hbp-configurator .hbp-archival-note{font-style:italic}
.hbp-configurator .required{color:#b42318}
.hbp-price-preview{
	display:grid;
	grid-template-columns:1fr auto;
	gap:4px 16px;
	align-items:end;
	padding-top:18px;
	border-top:1px solid rgba(0,0,0,.12);
}
.hbp-price-preview .hbp-price-label{font-weight:700}
.hbp-price-preview .hbp-price-total{font-size:1.55em;line-height:1}
.hbp-price-preview .hbp-price-detail{grid-column:1/-1;text-align:right}
@media (max-width:600px){
	.hbp-configurator{padding:16px;border-radius:14px}
}

/* 1.4.0 — custom sizes are quote-only; never enter WooCommerce cart. */
.hbp-configurator [hidden],
form.cart .hbp-request-quote-button[hidden] { display:none !important; }
.hbp-configurator .hbp-custom-size-fields {
    padding: 18px 18px 4px;
    border: 1px solid rgba(0,0,0,.16);
    border-radius: 10px;
    margin: 0 0 20px;
    background: rgba(255,255,255,.28);
}
.hbp-configurator .hbp-custom-size-heading {
    font-weight: 800;
    margin: 0 0 4px;
}
.hbp-configurator .hbp-custom-size-hint { margin: 0 0 16px; }
.hbp-configurator .hbp-custom-dimensions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 16px;
}
.hbp-configurator .hbp-custom-size-fields input,
.hbp-configurator .hbp-custom-size-fields textarea {
    box-sizing: border-box;
    width: 100%;
    border: 1px solid rgba(0,0,0,.2);
    border-radius: 10px;
    padding: 10px 12px;
    background: #fff;
    color: #181818;
    min-height: 48px;
}
.hbp-configurator .hbp-custom-size-fields textarea {
    min-height: 88px;
    resize: vertical;
}
.hbp-configurator .hbp-quote-honeypot {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
form.cart.hbp-custom-quote-mode button[name="add-to-cart"] { display: none !important; }
form.cart .hbp-request-quote-button {
    min-height: 54px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 23px 0 0 !important;
}
@media (max-width:600px){
    .hbp-configurator .hbp-custom-dimensions {grid-template-columns:1fr;gap:0}
}
