/* PressFlow presentation for PressFlow 1.2+. Pricing, state and layout stay in
   PressFlow. Deliberate specificity and load order avoid !important overrides. */
.pfw-configurator.pfw-configurator {
    --pfw-accent: var(--ink, #151517);
    --pfw-accent-hover: #343433;
    --pfw-ink: var(--ink, #151517);
    --pfw-muted: #62625b;
    --pfw-border: var(--line, #d1cfc5);
    --pfw-surface: #fffefa;
    --pfw-soft: #edeade;
    --pfw-selected: #eeeadd;
    --pfw-radius: 3px;
    font-family: var(--sans, Arial, sans-serif);
    font-size: 16px;
    line-height: 1.6;
}
.pfw-configurator.pfw-configurator .pfw-header {
    padding-top: 24px;
    border-top: 1px solid var(--pfw-border);
}
.pfw-configurator.pfw-configurator .pfw-header h2 {
    font-family: var(--display, 'Arial Black', sans-serif);
    font-weight: 400;
    font-size: clamp(28px, 4vw, 36px);
    letter-spacing: -.045em;
}
.pfw-configurator.pfw-configurator .pfw-eyebrow {
    font-size: 11px;
    letter-spacing: .09em;
}
.pfw-configurator.pfw-configurator .pfw-section-heading h3,
.pfw-configurator.pfw-configurator .pfw-order-heading h3 {
    font-weight: 750;
    letter-spacing: -.025em;
}
.pfw-configurator.pfw-configurator .pfw-step {
    border-color: var(--pfw-ink);
    border-radius: 2px;
    background: var(--pfw-ink);
    color: var(--pfw-surface);
    font-size: 13px;
}
.pfw-configurator.pfw-configurator .pfw-panel {
    box-shadow: 4px 4px 0 #15151708;
}
.pfw-configurator.pfw-configurator .pfw-order-card {
    border-top: 3px solid var(--pfw-ink);
    box-shadow: 5px 5px 0 #1515170c;
    scroll-margin-top: 125px;
}
.pfw-configurator.pfw-configurator .pfw-field-label,
.pfw-configurator.pfw-configurator .pfw-choice-label,
.pfw-configurator.pfw-configurator .pfw-upload-copy strong {
    font-size: 14px;
    font-weight: 650;
}
.pfw-configurator.pfw-configurator [data-summary] { font-size: 14px; }
.pfw-configurator.pfw-configurator :is(.pfw-section-heading p, .pfw-help,
    .pfw-sizing-note, .pfw-order-note, .pfw-artwork-note, .pfw-calendar-note,
    .pfw-quote-intro, .pfw-consent, .pfw-feedback, .pfw-file-status,
    .pfw-upload-copy > span, .pfw-quantity-hint, .pfw-grid-scroll-hint) {
    font-size: 13px;
    line-height: 1.6;
}
.pfw-configurator.pfw-configurator :is(.pfw-optional, .pfw-tax-note,
    .pfw-total-label, [data-unit], .pfw-date-label, .pfw-example-badge) {
    font-size: 12px;
}
.pfw-configurator.pfw-configurator :is(.pfw-summary-jump, .pfw-edit-link,
    .pfw-quote > summary, .pfw-upload-action, .pfw-quantity-count,
    .pfw-date-service) { font-size: 13px; }
.pfw-configurator.pfw-configurator :is(.pfw-choice, .pfw-summary-jump,
    .pfw-upload, .pfw-upload-action, .pfw-date-scroll, .pfw-example-badge,
    .pfw-feedback) { border-radius: 3px; }
.pfw-configurator.pfw-configurator .pfw-choice {
    border-color: var(--pfw-border);
}
.pfw-configurator.pfw-configurator .pfw-choice:hover {
    border-color: #8b887e;
    background: #f7f4ea;
}
.pfw-configurator.pfw-configurator .pfw-choice:has(input:checked) {
    border-color: var(--pfw-accent);
    background: var(--pfw-selected);
}
.pfw-configurator.pfw-configurator .pfw-choice:has(input:disabled) {
    background: var(--pfw-soft);
    cursor: not-allowed;
}
.pfw-configurator.pfw-configurator .pfw-choice-check {
    border-color: #aaa79b;
}
.pfw-configurator.pfw-configurator .pfw-choice-image {
    background: #f5f2e9;
}
.pfw-configurator.pfw-configurator .pfw-upload {
    border-color: #a5a193;
    background: #f5f2e9;
}
.pfw-configurator.pfw-configurator .pfw-upload-action {
    border-color: var(--pfw-border);
}
.pfw-configurator.pfw-configurator :is(.pfw-total, .pfw-quote) {
    border-color: var(--pfw-border);
}
.pfw-configurator.pfw-configurator .pfw-or::before,
.pfw-configurator.pfw-configurator .pfw-or::after {
    background: var(--pfw-border);
}
.pfw-configurator.pfw-configurator.pfw-configurator :is(input:not([type=radio]):not([type=checkbox]):not([type=file]), select, textarea) {
    border-color: var(--pfw-border);
    border-radius: 3px;
}
.pfw-configurator.pfw-configurator.pfw-configurator :is(input:not([type=radio]):not([type=checkbox]), select, textarea):focus {
    border-color: var(--pfw-accent);
    box-shadow: 0 0 0 3px #179bd726;
}
.pfw-configurator.pfw-configurator.pfw-configurator :is(input, textarea)::placeholder {
    color: #75756d;
}
.pfw-configurator.pfw-configurator.pfw-configurator :is(input, select, textarea):disabled {
    background-color: #eeece5;
}
.pfw-configurator.pfw-configurator.pfw-configurator button.pfw-button {
    border-radius: 3px;
    padding: 15px 18px;
    font-size: 15px;
    font-weight: 750;
    box-shadow: 3px 3px 0 #15151726;
}
.pfw-configurator.pfw-configurator.pfw-configurator button.pfw-button-secondary {
    box-shadow: none;
}
.pfw-configurator.pfw-configurator.pfw-configurator button.pfw-button:disabled {
    border-color: #d5d2c8;
    background: #e4e1d7;
    color: #6b6a62;
    box-shadow: none;
}
.pfw-configurator.pfw-configurator.pfw-configurator button.pfw-quantity-option {
    border-radius: 3px;
    border-color: var(--pfw-border);
}
.pfw-configurator.pfw-configurator.pfw-configurator button.pfw-quantity-option[aria-pressed="true"],
.pfw-configurator.pfw-configurator.pfw-configurator button.pfw-quantity-option:hover {
    border-color: var(--pfw-accent);
    background: var(--pfw-selected);
}
.pfw-configurator.pfw-configurator .pfw-tax-note {
    font-family: var(--sans, Arial, sans-serif);
}
.pfw-configurator.pfw-configurator.pfw-configurator .pfw-text-button {
    font-size: 12px;
}
.pfw-configurator.pfw-configurator [data-price]:not([data-priced="false"]) {
    font-family: var(--display, 'Arial Black', sans-serif);
    font-size: 34px;
    font-weight: 400;
    letter-spacing: -.04em;
}
.pfw-configurator.pfw-configurator .pfw-price-cell[aria-pressed="true"] .pfw-tax-note {
    color: #e8e4d7;
}
.pfw-configurator.pfw-configurator.pfw-configurator button.pfw-price-cell:disabled {
    background: #eeece5;
}
.pfw-configurator.pfw-configurator :is(button, a, summary):focus-visible,
.pfw-configurator.pfw-configurator .pfw-choice:has(input:focus-visible),
.pfw-configurator.pfw-configurator .pfw-upload:focus-within {
    outline: 3px solid var(--cyan, #179bd7);
    outline-offset: 3px;
}
.pfw-configurator.pfw-configurator .pfw-date-table button:focus-visible {
    outline-offset: -4px;
}

/* PressFlow catalogue starting prices follow the PressFlow product-card type. */
.woocommerce ul.products li.product .pfw-from-price {
    display: block;
    margin-top: 0;
    margin-bottom: 14px;
    padding: 0 20px;
    color: var(--ink, #151517);
    font-family: var(--sans, Arial, sans-serif);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: normal;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.woocommerce ul.products li.product .pfw-from-price .pfw-from-amount,
.woocommerce ul.products li.product .pfw-from-price .woocommerce-Price-amount {
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}
.woocommerce ul.products li.product .pfw-from-price > small {
    display: block;
    margin-top: 3px;
    color: #65625b;
    font-family: inherit;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: normal;
}
