/* Panel configurator — industrial wizard (uses site variables) */

.pc-layout{
display:flex;
flex-direction:column;
gap:var(--space-5);
max-width:none;
margin:0;
width:100%;
}

.pc-layout__main{
min-width:0;
width:100%;
}

.pc-layout__aside{
position:static;
width:100%;
}

.pc-order-stack{
display:grid;
grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
gap:var(--space-4);
align-items:start;
}

.pc{
max-width:900px;
margin:0 auto;
}

.pc-layout .pc{
max-width:none;
margin:0;
}

.pc-order-card{
margin-bottom:var(--space-3);
}

.pc-order-card:last-child{
margin-bottom:0;
}

.pc-cart-list{
margin-bottom:var(--space-2);
}

.pc-cart-empty{
margin:0;
font-size:var(--font-small);
color:var(--color-muted);
line-height:var(--line-height);
}

.pc-cart-item{
border:1px solid var(--color-border);
border-radius:var(--radius-button);
padding:var(--space-3);
margin-bottom:var(--space-2);
background:var(--color-bg);
}

.pc-cart-item__head{
font-weight:700;
color:var(--color-dark);
margin-bottom:var(--space-1);
font-size:var(--font-body);
}

.pc-cart-item__meta{
margin:0;
padding:0 0 0 var(--space-3);
list-style:disc;
font-size:var(--font-small);
color:var(--color-muted);
line-height:1.5;
}

.pc-cart-item__meta span{
color:var(--color-dark);
font-weight:600;
}

.pc-cart-item__actions{
display:flex;
flex-wrap:wrap;
gap:var(--space-1);
margin-top:var(--space-2);
}

.pc-cart-item__actions .btn{
padding:8px 12px;
font-size:13px;
}

.pc-cart-grand{
margin-top:var(--space-2);
}

.pc-workflow-hint{
font-size:var(--font-small);
color:var(--color-muted);
margin:var(--space-2) 0 0;
line-height:var(--line-height);
}

.pc-cart-toast{
padding:var(--space-2);
border-radius:var(--radius-button);
background:#ecfdf5;
border:1px solid #6ee7b7;
color:#065f46;
font-weight:600;
font-size:var(--font-small);
margin-bottom:var(--space-2);
display:none;
}

.pc-cart-toast--visible{
display:block;
}

.pc__intro{
text-align:left;
color:var(--color-muted);
font-size:var(--font-body);
margin:0 0 var(--space-4);
max-width:none;
}

.pc-intro-tight{
margin-top:0;
}

.pc-subheading{
margin-top:var(--space-3);
font-size:var(--font-subtitle);
font-weight:600;
color:var(--color-dark);
}

.pc-progress{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:var(--space-1) var(--space-2);
list-style:none;
margin:0 0 var(--space-4);
padding:0;
counter-reset:pcstep;
}

.pc-progress__item{
position:relative;
font-size:var(--font-small);
font-weight:600;
color:var(--color-muted);
padding:var(--space-1) var(--space-2);
border-radius:999px;
border:1px solid var(--color-border);
background:var(--color-surface);
transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);
}

.pc-progress__item--active{
color:var(--color-primary);
border-color:var(--color-primary);
background:var(--color-primary-soft);
}

.pc-progress__item--done{
color:var(--color-dark);
border-color:var(--color-border);
background:var(--color-bg);
}

.pc-card{
background:var(--color-surface);
border-radius:var(--radius-block);
border:1px solid var(--color-border);
box-shadow:var(--shadow-card);
padding:var(--space-4);
margin-bottom:var(--space-3);
}

.pc-card__title{
margin:0 0 var(--space-3);
font-size:var(--font-subtitle);
font-weight:700;
color:var(--color-dark);
}

.pc-step{
display:none;
}

.pc-step--active{
display:block;
}

.pc-step-error{
margin:0 0 var(--space-2);
padding:var(--space-2);
border-radius:var(--radius-button);
background:#fef2f2;
color:#991b1b;
border:1px solid #fecaca;
font-size:var(--font-small);
font-weight:600;
display:none;
}

.pc-step-error--visible{
display:block;
}

.pc-choice-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
gap:var(--space-2);
}

.pc-choice-card{
display:flex;
align-items:center;
justify-content:center;
min-height:4.5rem;
padding:var(--space-3);
border:2px solid var(--color-border);
border-radius:var(--radius-card);
cursor:pointer;
transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast);
background:var(--color-bg);
}

.pc-choice-card:hover{
border-color:var(--color-primary);
}

.pc-choice-card:has(input:checked){
border-color:var(--color-primary);
background:var(--color-primary-soft);
box-shadow:var(--shadow-input);
}

.pc-choice-card input{
position:absolute;
opacity:0;
pointer-events:none;
}

.pc-choice-card span{
font-weight:600;
font-size:var(--font-body);
color:var(--color-dark);
text-align:center;
}

.pc-form-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:var(--space-3);
}

.pc-field{
display:flex;
flex-direction:column;
gap:var(--space-1);
}

.pc-field--hidden{
display:none !important;
}

.pc-field label{
font-weight:600;
font-size:var(--font-small);
color:var(--color-dark);
}

.pc-field select,
.pc-field input[type="text"],
.pc-field input[type="email"],
.pc-field input[type="tel"],
.pc-field textarea{
width:100%;
padding:12px 14px;
border:1px solid var(--color-border);
border-radius:var(--radius-button);
font-size:var(--font-body);
font-family:inherit;
background:var(--color-surface);
transition:border-color var(--transition-fast),box-shadow var(--transition-fast);
}

.pc-field select:focus,
.pc-field input:focus,
.pc-field textarea:focus{
outline:none;
border-color:var(--color-primary);
box-shadow:var(--shadow-input);
}

.pc-field textarea{
resize:vertical;
min-height:100px;
}

.pc-table-wrap{
overflow-x:auto;
margin:var(--space-2) 0;
border:1px solid var(--color-border);
border-radius:var(--radius-button);
}

.pc-table{
width:100%;
border-collapse:collapse;
font-size:var(--font-small);
}

.pc-table th,
.pc-table td{
padding:var(--space-2);
text-align:left;
border-bottom:1px solid var(--color-border);
}

.pc-table th{
background:var(--color-bg);
font-weight:600;
color:var(--color-dark);
white-space:nowrap;
}

.pc-table input{
width:100%;
min-width:5rem;
padding:8px 10px;
border:1px solid var(--color-border);
border-radius:6px;
font:inherit;
}

.pc-table input:focus{
outline:none;
border-color:var(--color-primary);
box-shadow:var(--shadow-input);
}

.pc-table .pc-m2{
font-variant-numeric:tabular-nums;
color:var(--color-muted);
}

.pc-table .pc-row-remove{
width:auto;
padding:6px 10px;
font-size:var(--font-small);
}

.pc-summary-highlight{
background:linear-gradient(135deg,var(--color-primary-soft),var(--color-bg));
border:1px solid var(--color-border);
border-radius:var(--radius-card);
padding:var(--space-3);
margin:var(--space-2) 0;
}

.pc-summary-highlight dl{
display:grid;
grid-template-columns:auto 1fr;
gap:var(--space-1) var(--space-3);
margin:0;
font-size:var(--font-body);
}

.pc-summary-highlight dt{
font-weight:600;
color:var(--color-dark);
margin:0;
}

.pc-summary-highlight dd{
margin:0;
font-variant-numeric:tabular-nums;
color:var(--color-primary);
font-weight:700;
}

.pc-summary-list{
margin:0;
padding:0;
list-style:none;
font-size:var(--font-body);
color:var(--color-muted);
}

.pc-summary-list li{
padding:var(--space-1) 0;
border-bottom:1px solid var(--color-border);
}

.pc-summary-list li:last-child{
border-bottom:none;
}

.pc-summary-list strong{
color:var(--color-dark);
display:inline-block;
min-width:12rem;
}

.pc-cutting-actions{
display:flex;
flex-wrap:wrap;
gap:var(--space-2);
align-items:center;
margin-top:var(--space-2);
}

.pc-nav{
display:flex;
flex-wrap:wrap;
justify-content:flex-start;
align-items:center;
gap:var(--space-2);
margin-top:var(--space-4);
padding-top:var(--space-3);
border-top:1px solid var(--color-border);
}

.pc-nav .btn{
min-width:8rem;
}

.pc-nav__spacer{
flex:1;
}

#pc-quote-form .local-captcha{
margin:var(--space-2) 0;
}

@media (max-width:960px){
.pc-layout{
flex-direction:column;
}
.pc-layout__aside{
position:static;
}
.pc-order-stack{
grid-template-columns:1fr;
}
}

@media (max-width:640px){
.pc-progress__item{
font-size:12px;
padding:6px 10px;
}
.pc-choice-grid{
grid-template-columns:1fr;
}
.pc-summary-highlight dl{
grid-template-columns:1fr;
}
}

@media (prefers-reduced-motion:reduce){
.pc-choice-card,
.pc-progress__item{
transition:none;
}
}
