/* Self-contained builder styles. Theme values come from the PHP include configuration. */
.wf-plate-builder { font-family: var(--pb-font, inherit); font-size: 16px; line-height: 1.5; color: var(--pb-text); background: var(--pb-background); text-align: left; }
.wf-plate-builder, .wf-plate-builder *, .wf-plate-builder *::before, .wf-plate-builder *::after { box-sizing: border-box; }
.wf-plate-builder h1, .wf-plate-builder h2 { font-family: var(--pb-font, inherit) !important; font-weight: 750; letter-spacing: -.035em; color: var(--pb-text); }
.wf-plate-builder a { color: inherit; }
.wf-plate-builder button, .wf-plate-builder input, .wf-plate-builder select { font: inherit; }
.wf-plate-builder button { cursor: pointer; }
.wf-plate-builder button:disabled { opacity: .45; cursor: default; }
.wf-plate-builder [hidden] { display: none !important; }
.wf-plate-builder :focus-visible { outline: 3px solid var(--pb-focus); outline-offset: 4px; }
.wf-plate-builder .wfpb-sr { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.wf-plate-builder .wfpb-sr {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}
.wf-plate-builder .wfpb-eyebrow {
    font-size: 11px!important;
    letter-spacing: .18em!important;
    text-transform: uppercase;
    font-weight: 700!important;
    margin: 0 0 16px!important;
    line-height: 1.5
}
.wf-plate-builder .wfpb-button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    background: var(--pb-accent);
    border: 1px solid var(--pb-accent);
    border-radius: var(--pb-radius);
    padding: 17px 23px;
    font-size: 14px;
    font-weight: 700;
    color: var(--pb-text)!important;
    text-decoration: none!important;
    min-height: 55px;
    transition: background .15s,transform .15s
}
.wf-plate-builder .wfpb-button:hover {
    background: var(--pb-accent-hover);
    transform: translateY(-1px)
}
.wf-plate-builder.wfpb-builder {
    width: 100%;
    min-width: 0;
    margin: 0;
    scroll-margin-top: 15px
}
.wf-plate-builder .wfpb-steps {
    display: grid;
    grid-template-columns: repeat(6,1fr);
    border: 1px solid var(--pb-border);
    border-bottom: 0
}
.wf-plate-builder .wfpb-steps button {
    padding: 17px 10px;
    background: var(--pb-subtle);
    color: var(--pb-muted);
    font-size: 13px;
    font-weight: bold;
    border: 0;
    border-right: 1px solid var(--pb-border);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px
}
.wf-plate-builder .wfpb-steps button:last-child {
    border: 0
}
.wf-plate-builder .wfpb-steps button span {
    font-size: 10px;
    font-weight: 400;
    opacity: .7
}
.wf-plate-builder .wfpb-steps button.is-active {
    background: var(--pb-accent);
    color: var(--pb-text)
}
.wf-plate-builder .wfpb-builder-grid {
    display: grid;
    grid-template-columns: 1fr 1.03fr;
    border: 1px solid var(--pb-border);
    min-height: 590px
}
.wf-plate-builder .wfpb-config {
    background: var(--pb-surface);
    padding: 38px;
    display: flex;
    flex-direction: column
}
.wf-plate-builder .wfpb-step h2 {
    font-size: 29px;
    margin: 0 0 12px;
    line-height: 1.15
}
.wf-plate-builder .wfpb-step>p:not(.wfpb-eyebrow) {
    font-size: 13px;
    color: var(--pb-muted);
    margin-bottom: 22px
}
.wf-plate-builder .wfpb-label,.wf-plate-builder .wfpb-side-choice legend {
    display: block;
    font-size: 12px;
    font-weight: 700;
    margin: 24px 0 9px;
    border: 0;
    padding: 0;
    letter-spacing: 0
}
.wf-plate-builder .wfpb-reg-input {
    font-weight: 700!important;
    width: 100%;
    border: 2px solid var(--pb-text);
    border-radius: var(--pb-radius);
    height: 75px!important;
    background: var(--pb-input);
    font-family: 'Arial Narrow',Arial,sans-serif!important;
    font-size: 38px!important;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--pb-text)
}
.wf-plate-builder .wfpb-reg-input::placeholder {
    color: var(--pb-placeholder)
}
.wf-plate-builder .wfpb-field-help {
    font-size: 11px!important;
    color: var(--pb-muted);
    margin: 10px 0 20px!important;
    line-height: 1.55
}
.wf-plate-builder .wfpb-side-choice {
    border: 0;
    padding: 0;
    margin: 0 0 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px
}
.wf-plate-builder .wfpb-side-choice legend {
    width: 100%
}
.wf-plate-builder .wfpb-side-choice label {
    border: 1px solid var(--pb-border);
    border-radius: var(--pb-radius);
    padding: 15px 12px;
    display: flex;
    gap: 10px;
    align-items: center;
    flex: 1;
    min-width: 170px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer
}
.wf-plate-builder .wfpb-side-choice label:has(input:checked) {
    border-color: var(--pb-text);
    background: var(--pb-selected)
}
.wf-plate-builder .wfpb-side-choice small {
    display: block;
    font-weight: 400;
    font-size: 10px;
    color: var(--pb-muted);
    margin-top: 3px
}
.wf-plate-builder .wfpb-remember,.wf-plate-builder .wfpb-confirm {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 12px;
    font-weight: 400;
    cursor: pointer
}
.wf-plate-builder .wfpb-config input[type=checkbox],.wf-plate-builder .wfpb-option input {
    accent-color: var(--pb-text);
    width: 17px;
    height: 17px;
    margin: 0;
    flex-shrink: 0
}
.wf-plate-builder .wfpb-remember input,.wf-plate-builder .wfpb-confirm input {
    margin-top: 1px!important
}
.wf-plate-builder .wfpb-step-actions {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    margin-top: auto;
    padding-top: 30px
}
.wf-plate-builder .wfpb-step-actions .wfpb-button {
    flex: 1
}
.wf-plate-builder .wfpb-back {
    border: 0;
    background: none;
    font-size: 12px;
    font-weight: 700;
    padding: 10px
}
.wf-plate-builder .wfpb-preview {
    padding: 28px 32px;
    background: repeating-linear-gradient(130deg,transparent 0 22px,#e2e4d91f 22px 23px),#e9ebe3;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 24px;
    min-width: 0
}
.wf-plate-builder .wfpb-preview-heading {
    display: flex;
    justify-content: space-between;
    gap: 20px
}
.wf-plate-builder .wfpb-preview-heading .wfpb-eyebrow {
    font-size: 9px!important;
    color: var(--pb-muted);
    margin: 0!important
}
.wf-plate-builder .wfpb-preview-dot {
    font-size: 10px;
    color: var(--pb-muted)
}
.wf-plate-builder .wfpb-preview-dot:before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    background: var(--pb-preview-status);
    border-radius: 50%;
    margin-right: 6px
}
.wf-plate-builder .wfpb-preview-label {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    font-size: 9px;
    letter-spacing: .12em;
    color: var(--pb-muted);
    margin-bottom: 13px
}
.wf-plate-builder .wfpb-preview-item>p {
    font-size: 11px;
    text-align: center;
    margin: 13px 0 0;
    color: var(--pb-muted)
}
.wf-plate-builder .wfpb-totalbar {
    background: var(--pb-text);
    color: var(--pb-surface);
    padding: 23px 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px
}
.wf-plate-builder .wfpb-totalbar>div {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 18px
}
.wf-plate-builder .wfpb-totalbar span {
    font-size: 12px
}
.wf-plate-builder .wfpb-totalbar strong {
    font-size: 30px;
    line-height: 1
}
.wf-plate-builder .wfpb-totalbar small {
    display: block;
    width: 100%;
    font-size: 10px;
    color: var(--pb-total-muted)
}
.wf-plate-builder .wfpb-totalbar .wfpb-button {
    min-width: 235px
}
.wf-plate-builder .wfpb-side-tabs {
    display: flex;
    border-bottom: 1px solid var(--pb-border);
    margin: 22px 0
}
.wf-plate-builder .wfpb-side-tabs button {
    border: 0;
    background: none;
    padding: 10px 20px 12px;
    font-size: 12px;
    color: var(--pb-muted);
    border-bottom: 3px solid transparent
}
.wf-plate-builder .wfpb-side-tabs button.is-active {
    border-color: var(--pb-text);
    color: var(--pb-text);
    font-weight: bold
}
.wf-plate-builder .wfpb-options {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
    border: 0;
    margin: 0;
    padding: 0;
    min-width: 0
}
.wf-plate-builder .wfpb-options:has(.wfpb-style-option) {
    grid-template-columns: 1fr 1fr
}
.wf-plate-builder .wfpb-option {
    display: flex;
    align-items: center;
    position: relative;
    gap: 10px;
    border: 1px solid var(--pb-border);
    border-radius: var(--pb-radius);
    padding: 14px;
    cursor: pointer;
    margin: 0;
    font-weight: 400;
    min-width: 0
}
.wf-plate-builder .wfpb-option:has(input:checked) {
    border: 2px solid var(--pb-text);
    padding: 13px;
    background: var(--pb-selected)
}
.wf-plate-builder .wfpb-option input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0
}
.wf-plate-builder .wfpb-option:focus-within {
    outline: 2px solid var(--pb-focus);
    outline-offset: 2px
}
.wf-plate-builder .wfpb-option-copy {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    width: 100%
}
.wf-plate-builder .wfpb-option strong {
    font-size: 12px;
    font-weight: 700
}
.wf-plate-builder .wfpb-option small {
    font-size: 10px;
    color: var(--pb-muted);
    white-space: nowrap
}
.wf-plate-builder .wfpb-style-option {
    display: block;
    padding: 13px
}
.wf-plate-builder .wfpb-style-option .wfpb-option-copy {
    display: block
}
.wf-plate-builder .wfpb-style-option strong,.wf-plate-builder .wfpb-style-option small {
    display: block
}
.wf-plate-builder .wfpb-style-option strong {
    font-size: 12px
}
.wf-plate-builder .wfpb-style-option small {
    margin-top: 2px
}
.wf-plate-builder .wfpb-letter {
    font-weight: 700!important;
    font: 27px 'Arial Narrow',Arial,sans-serif;
    display: block;
    letter-spacing: .04em;
    margin: 0 0 12px
}
.wf-plate-builder .wfpb-letter-2,.wf-plate-builder .wfpb-letter-4,.wf-plate-builder .wfpb-letter-6 {
    text-shadow: 1px 1px #a8aaa1,2px 2px #616553
}
.wf-plate-builder .wfpb-letter-3,.wf-plate-builder .wfpb-letter-5 {
    text-shadow: 1px 1px #a8aaa1,2px 2px #616553,3px 3px #999
}
.wf-plate-builder .wfpb-check {
    display: none;
    font-size: 12px;
    background: var(--pb-text);
    color: var(--pb-surface);
    border-radius: 50%;
    width: 18px;
    height: 18px;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 10px;
    top: 9px
}
.wf-plate-builder .wfpb-option:has(input:checked) .wfpb-check {
    display: flex
}
.wf-plate-builder .wfpb-options:not(:has(.wfpb-style-option)) .wfpb-option-copy {
    padding-right: 20px
}
.wf-plate-builder .wfpb-copy {
    display: block;
    border: 0;
    border-bottom: 1px solid var(--pb-text);
    font-size: 11px;
    font-weight: bold;
    background: none;
    padding: 0 0 4px;
    margin-top: 18px
}
.wf-plate-builder .wfpb-copy span {
    margin-left: 10px
}
.wf-plate-builder .wfpb-select {
    width: 100%;
    height: 43px;
    border: 1px solid var(--pb-border);
    border-radius: var(--pb-radius);
    background: var(--pb-surface);
    padding: 8px;
    font-size: 12px!important
}
.wf-plate-builder .wfpb-summary {
    margin: 24px 0;
    border-top: 1px solid var(--pb-border)
}
.wf-plate-builder .wfpb-summary>div {
    padding: 15px 0;
    border-bottom: 1px solid var(--pb-border)
}
.wf-plate-builder .wfpb-summary strong {
    font-size: 12px
}
.wf-plate-builder .wfpb-summary p {
    font-size: 11px;
    color: var(--pb-muted);
    margin: 4px 0 0;
    line-height: 1.6
}
.wf-plate-builder .wfpb-error {
    background: var(--pb-error-bg);
    color: var(--pb-error);
    border-left: 3px solid var(--pb-error);
    padding: 12px;
    font-size: 12px;
    margin: 15px 0
}

@media(max-width:1000px) {
.wf-plate-builder .wfpb-config {
    padding: 25px
}
.wf-plate-builder .wfpb-preview {
    padding: 25px 20px
}
}

@media(max-width:760px) {
.wf-plate-builder .wfpb-builder-grid {
    grid-template-columns: 1fr
}
.wf-plate-builder .wfpb-preview {
    grid-row: 1;
    padding: 22px;
    gap: 20px
}
.wf-plate-builder .wfpb-preview-item {
    max-width: 470px;
    width: 100%;
    margin: auto
}
.wf-plate-builder .wfpb-preview-label {
    font-size: 8px;
    margin-bottom: 8px
}
.wf-plate-builder .wfpb-preview-item>p {
    font-size: 10px;
    margin-top: 8px
}
.wf-plate-builder .wfpb-steps button {
    font-size: 10px;
    padding: 14px 3px;
    gap: 0
}
.wf-plate-builder .wfpb-steps button span {
    display: none
}
.wf-plate-builder .wfpb-config {
    padding: 26px 21px
}
.wf-plate-builder .wfpb-step h2 {
    font-size: 27px
}
.wf-plate-builder .wfpb-totalbar {
    padding: 18px;
    gap: 12px;
    position: sticky;
    bottom: 0;
    z-index: 10
}
.wf-plate-builder .wfpb-totalbar strong {
    font-size: 25px
}
.wf-plate-builder .wfpb-totalbar>div {
    gap: 5px
}
.wf-plate-builder .wfpb-totalbar>div>span {
    width: 100%;
    font-size: 10px
}
.wf-plate-builder .wfpb-totalbar small {
    display: none
}
.wf-plate-builder .wfpb-totalbar .wfpb-button {
    min-width: 0;
    font-size: 11px;
    padding: 14px;
    gap: 15px
}
.wf-plate-builder .wfpb-totalbar .wfpb-button span {
    font-size: 13px
}
.wf-plate-builder .wfpb-option strong {
    font-size: 11px
}
.wf-plate-builder .wfpb-option small {
    font-size: 9px
}
}
#plate-builder.wf-plate-builder .wfpb-preview {
    min-width: 0
}
#plate-builder.wf-plate-builder .wfpb-preview.wfpb-three-ready {
    background: var(--pb-preview);
    color: var(--pb-preview-text);
    padding: 28px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 20px
}
#plate-builder.wf-plate-builder .wfpb-three-ready .wfpb-preview-heading {
    margin: 0;
    flex-shrink: 0
}
#plate-builder.wf-plate-builder .wfpb-three-ready .wfpb-eyebrow {
    color: var(--pb-preview-text)
}
#plate-builder.wf-plate-builder .wfpb-three-ready .wfpb-preview-dot {
    color: var(--pb-preview-muted)
}
#plate-builder.wf-plate-builder .wfpb-three-ready .wfpb-preview-dot:before {
    background: var(--pb-preview-status)
}
#plate-builder.wf-plate-builder .wfpb-three-studio {
    min-width: 0;
    width: 100%;
    position: relative
}
#plate-builder.wf-plate-builder .wfpb-three-viewport {
    position: relative;
    width: 100%;
    height: 365px;
    border: 1px solid var(--pb-preview-border);
    border-radius: 8px;
    overflow: hidden;
    background: radial-gradient(ellipse at 50% 40%,var(--pb-preview-glow) 0,var(--pb-preview-mid) 40%,var(--pb-preview) 85%);
    isolation: isolate
}
#plate-builder.wf-plate-builder .wfpb-three-viewport canvas {
    display: block;
    width: 100%;
    height: 100%;
    touch-action: pan-y;
    cursor: grab;
    outline-offset: -4px
}
#plate-builder.wf-plate-builder .wfpb-three-viewport canvas:active {
    cursor: grabbing
}
#plate-builder.wf-plate-builder .wfpb-three-caption {
    position: absolute;
    left: 18px;
    top: 15px;
    font-size: 9px;
    letter-spacing: .15em;
    color: var(--pb-preview-muted);
    pointer-events: none;
    z-index: 1
}
#plate-builder.wf-plate-builder .wfpb-three-toolbar {
    display: flex;
    gap: 6px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 12px
}
#plate-builder.wf-plate-builder .wfpb-three-toolbar button {
    background: var(--pb-preview-button);
    border: 1px solid var(--pb-preview-border);
    border-radius: var(--pb-radius);
    color: var(--pb-preview-text);
    font-size: 11px;
    padding: 9px 12px;
    min-height: 37px
}
#plate-builder.wf-plate-builder .wfpb-three-toolbar button[aria-pressed=true] {
    color: var(--pb-preview);
    background: var(--pb-accent);
    border-color: var(--pb-accent)
}
#plate-builder.wf-plate-builder .wfpb-three-toolbar button:hover {
    border-color: var(--pb-accent)
}
#plate-builder.wf-plate-builder .wfpb-three-toolbar .wfpb-three-zoom {
    font-size: 18px;
    line-height: 1;
    padding: 6px 12px
}
#plate-builder.wf-plate-builder .wfpb-three-help {
    font-size: 10px;
    line-height: 1.7;
    text-align: center;
    color: var(--pb-preview-muted);
    margin: 12px 0 0
}
#plate-builder.wf-plate-builder .wfpb-three-ready .wfpb-preview-item {
    padding: 13px 0 0;
    border-top: 1px solid var(--pb-preview-border);
    margin: 0;
    width: 100%;
    max-width: none
}
#plate-builder.wf-plate-builder .wfpb-three-ready .wfpb-preview-label {
    color: var(--pb-preview-muted);
    margin-bottom: 6px;
    font-size: 9px
}
#plate-builder.wf-plate-builder .wfpb-three-ready [data-finish-label] {
    color: var(--pb-preview-text);
    margin: 0;
    text-align: left;
    font-size: 12px
}
#plate-builder.wf-plate-builder .wfpb-three-status {
    font-size: 11px;
    text-align: center;
    line-height: 1.6;
    margin: 0;
    color: inherit
}

@media(max-width:760px) {
#plate-builder.wf-plate-builder .wfpb-preview.wfpb-three-ready {
    padding: 20px;
    gap: 12px
}
#plate-builder.wf-plate-builder .wfpb-three-viewport {
    height: 275px
}
#plate-builder.wf-plate-builder .wfpb-three-ready .wfpb-preview-item {
    padding-top: 10px
}
#plate-builder.wf-plate-builder .wfpb-three-ready [data-finish-label] {
    font-size: 11px
}
#plate-builder.wf-plate-builder .wfpb-three-toolbar {
    gap: 4px
}
#plate-builder.wf-plate-builder .wfpb-three-toolbar button {
    padding: 8px 8px
}
#plate-builder.wf-plate-builder .wfpb-three-caption {
    font-size: 8px
}
}


.wf-plate-builder .wfpb-button, .wf-plate-builder .wfpb-steps button.is-active, .wf-plate-builder .wfpb-three-toolbar button[aria-pressed=true] { color: var(--pb-on-accent) !important; }
.wf-plate-builder .wfpb-totalbar { background: var(--pb-total); color: var(--pb-on-total); }
@media (prefers-reduced-motion: reduce) { .wf-plate-builder *, .wf-plate-builder *::before, .wf-plate-builder *::after { transition: none !important; animation: none !important; } }
