/*
HCB Quote Form CSS
*/

.single-product .site-main{
padding-top:0!important;
margin-top:0!important;
}

.single-product .content-area{
padding-top:0!important;
margin-top:0!important;
}

.single-product .ast-woocommerce-container{
padding-top:0!important;
margin-top:0!important;
}

.single-product .site-content{
padding-top:0!important;
margin-top:0!important;
}

.single-product .ast-container{
padding-top:0!important;
margin-top:0!important;
}

.single-product #primary{
padding-top:0!important;
margin-top:0!important;
}

.single-product .entry-header{
display:none!important;
}

:root{
--hcb-gold:#FCCA3D;
--hcb-teal:#005E5E;
--hcb-teal-hover:#129690;
--hcb-text:#333;
--hcb-muted:#6b7280;
--hcb-border:#e5e7eb;
--hcb-soft:#f8fafc;
--hcb-shadow:0 8px 24px rgba(15,23,42,.08);
--hcb-radius:10px
}

.hcb-product-page{
font-family:Poppins,Arial,sans-serif;
color:var(--hcb-text);
background:#fff;
line-height:1.65
}

.hcb-product-page *{
box-sizing:border-box
}

.hcb-product-page a{
text-decoration:none
}

.hcb-wrap{
max-width:1320px;
margin:0 auto;
padding:0 22px
}

.hcb-breadcrumb{
background:#f3f4f6;
padding:24px 0;
font-size:14px;
color:#555
}

.hcb-breadcrumb a{
color:#555
}

.hcb-breadcrumb a:hover{
color:var(--hcb-teal)
}

.hcb-hero{
padding:48px 0 42px
}

.hcb-grid{
display:grid;
grid-template-columns:minmax(0,1fr) minmax(420px,.92fr);
gap:34px;
align-items:start
}

.hcb-gallery-main{
background:#fff;
border:1px solid var(--hcb-border);
border-radius:var(--hcb-radius);
box-shadow:var(--hcb-shadow);
overflow:hidden;
aspect-ratio:1/1;
display:flex;
align-items:center;
justify-content:center
}

.hcb-main-img{
width:100%;
height:100%;
object-fit:cover;
display:block;
transition:opacity .22s ease,transform .22s ease
}

.hcb-main-img.is-changing{
opacity:.18;
transform:scale(.985)
}

.hcb-quote-card{
margin-top:24px;
background:#fff;
border:1px solid var(--hcb-border);
border-radius:var(--hcb-radius);
box-shadow:var(--hcb-shadow);
padding:24px
}

.hcb-card-title{
font-size:25px;
font-weight:800;
margin:0 0 24px;
position:relative;
color:#1f2937
}

.hcb-card-title:after{
content:"";
position:absolute;
left:0;
bottom:-8px;
width:60px;
height:3px;
background:var(--hcb-teal)
}

.hcb-progress{
display:flex;
align-items:center;
margin:8px 0 28px
}

.hcb-progress-step{
width:30px;
height:30px;
border-radius:50%;
background:#f9fafb;
border:2px solid #e5e7eb;
display:flex;
align-items:center;
justify-content:center;
font-weight:800;
font-size:13px;
z-index:2
}

.hcb-progress-step.active,
.hcb-progress-step.done{
background:var(--hcb-teal);
border-color:var(--hcb-teal);
color:#fff
}

.hcb-progress-line{
height:2px;
background:#e5e7eb;
flex:1
}

.hcb-progress-line.done{
background:var(--hcb-teal)
}

.hcb-step{
display:none
}

.hcb-step.active{
display:block
}

.hcb-form-heading{
font-size:18px;
font-weight:800;
margin:0 0 14px;
color:#333
}

.hcb-selected-style{
display:flex;
align-items:center;
gap:16px;
background:#f9fafb;
border:1px solid #edf2f2;
border-radius:10px;
padding:14px 16px;
margin-bottom:24px
}

.hcb-selected-style img{
width:86px!important;
height:86px!important;
object-fit:cover;
border-radius:8px;
border:1px solid var(--hcb-teal);
flex:0 0 86px
}

.hcb-selected-style strong{
display:block;
font-size:15px
}

.hcb-selected-style span{
font-size:13px;
color:var(--hcb-muted)
}

.hcb-field-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:14px
}

.hcb-field-grid.two{
grid-template-columns:repeat(2,1fr)
}

.hcb-field{
margin-bottom:15px
}

.hcb-field label{
display:block;
font-size:13px;
font-weight:700;
margin-bottom:7px;
color:#374151
}

.hcb-input,
.hcb-textarea{
width:100%;
background:#f9fafb;
border:1px solid #e5e7eb;
border-radius:4px;
padding:11px 12px;
font-size:14px;
color:#333
}

.hcb-input:focus,
.hcb-textarea:focus{
outline:0;
border-color:var(--hcb-teal);
box-shadow:0 0 0 3px rgba(0,94,94,.13)
}

.hcb-textarea{
min-height:95px;
resize:vertical
}

.hcb-options{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:12px;
margin-bottom:22px
}

.hcb-options.four{
grid-template-columns:repeat(4,1fr)
}

.hcb-option input{
position:absolute;
opacity:0;
pointer-events:none
}

.hcb-option span{
display:block;
background:#f9fafb;
border:1px solid #e5e7eb;
border-radius:4px;
padding:10px;
text-align:center;
font-size:14px;
font-weight:600;
cursor:pointer;
transition:.18s ease
}

.hcb-option input:checked + span{
background:var(--hcb-teal);
border-color:var(--hcb-teal);
color:#fff
}

.hcb-actions{
display:flex;
justify-content:space-between;
gap:12px;
margin-top:18px
}

.hcb-actions.right{
justify-content:flex-end
}

.hcb-message{
display:none;
margin-top:14px;
padding:13px;
border-radius:7px;
font-weight:600
}

.hcb-message.success{
display:block;
background:#dcfce7;
color:#166534
}

.hcb-message.error{
display:block;
background:#fee2e2;
color:#991b1b
}
/* HCB quote form loading state */
.hcb-btn.is-loading,
.hcb-btn:disabled{
opacity:.72;
cursor:not-allowed;
transform:none!important;
box-shadow:none!important
}

#hcbFormMessage{
margin:0 0 18px
}


/* Selected style image: mobile-safe size */
@media(max-width:720px){
    .hcb-selected-style{
        gap:12px!important;
        padding:12px!important;
    }

    .hcb-selected-style img{
        width:72px!important;
        height:72px!important;
        flex:0 0 72px!important;
    }
}
