/**
 * Direct Quote form — "Request Quote / Place Order".
 * Styling only; behavior lives in aco-quote.js.
 */
.aco-quote, .aco-quote *, .aco-quote *::before, .aco-quote *::after {
    box-sizing: border-box;
}

.aco-quote {
    font-family: "Poppins", Arial, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: #1a1f2e;
    max-width: 1180px;
    margin: 40px auto;
    padding: 0 16px;

    --aq-blue:        #16357a;
    --aq-blue-border: #2f6bff;
    --aq-orange:      #f68b1f;
    --aq-orange-dark: #d97a1c;
    --aq-gray-900:    #1a1f2e;
    --aq-gray-700:    #58607a;
    --aq-gray-500:    #8a90a3;
    --aq-gray-300:    #dcdfe6;
    --aq-gray-100:    #f5f6f9;
    --aq-green:       #1fa94d;
    --aq-red:         #d1483f;
}

.aco-quote-headrow {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}
.aco-quote-title {
    font-size: 24px;
    font-weight: 700;
    color: var(--aq-blue);
    margin: 0 0 4px;
    line-height: 1.3;
}
.aco-quote-subtitle {
    font-size: 13px;
    color: var(--aq-gray-500);
    margin: 0;
}
.aco-quote-howto {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--aq-orange);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    padding: 10px 10px 10px 20px;
    border-radius: 999px;
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
}
.aco-quote-howto:hover { background: var(--aq-orange-dark); color: #fff; }
.aco-quote-play {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #fff;
    color: var(--aq-orange);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.aco-quote-play svg { width: 9px; height: 9px; margin-left: 1px; }

.aco-quote-card {
    border-radius: 16px;
    background: #fff;
    padding: 28px 32px 24px;
}

.aco-quote-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px 40px;
    margin-bottom: 24px;
}
.aco-quote-field { margin-bottom: 22px; }
.aco-quote-field:last-child { margin-bottom: 0; }
.aco-quote-field > label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: #334d74;
    margin-bottom: 8px;
}
.aco-quote-field > label .aco-quote-required { color: var(--aq-red); }

/* Scoped to #aco-quote-form + !important: a bare .aco-quote-text/-select
   rule was already outranked by the theme's/Gravity Forms' own native input
   border on a live, heavily-styled site — only .aco-quote-textarea (Notes)
   happened not to collide with whatever that conflicting rule targets. */
#aco-quote-form .aco-quote-select,
#aco-quote-form .aco-quote-text,
#aco-quote-form .aco-quote-textarea {
    width: 100% !important;
    border: 1px solid #d1d5db !important;
    border-radius: 12px !important;
    padding: 12px 20px !important;
    font-size: 14px !important;
    color: #334d74 !important;
    background: #fff !important;
    font-family: inherit !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

/* Forces exactly one chevron regardless of whatever native/theme select
   styling is already competing for this element on a live, heavily-styled
   site — appearance:none strips every native arrow first. Scoped to
   #aco-quote-form + !important because a bare .aco-quote-select rule was
   already outranked by the theme/Gravity-Forms select CSS on the live site. */
#aco-quote-form .aco-quote-select {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    padding-right: 40px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238a90a3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-size: 14px 14px !important;
    cursor: pointer;
}
#aco-quote-form .aco-quote-select::-ms-expand { display: none; }

/* A <select multiple> is a multi-row listbox, not a single-line dropdown —
   the chevron/single-line padding above is wrong for it. */
#aco-quote-form select.aco-quote-select-multi {
    appearance: auto !important;
    -webkit-appearance: listbox !important;
    -moz-appearance: listbox !important;
    background-image: none !important;
    padding: 8px !important;
    min-height: 110px;
}

.aco-quote-textarea { resize: vertical; min-height: 90px; }

.aco-quote-checkbox-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.aco-quote-checkbox-option {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: var(--aq-gray-900);
}
.aco-quote-checkbox-option input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: var(--aq-orange);
    margin: 0;
}
.aco-quote-checkbox-price {
    color: var(--aq-gray-500);
    font-size: 12px;
}

.aco-quote-steps-indicator {
    display: flex;
    align-items: center;
    margin-bottom: 28px;
}
.aco-quote-step-dot {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    flex-shrink: 0;
    border: 2px solid var(--aq-gray-300);
    color: var(--aq-gray-500);
    background: #fff;
}
.aco-quote-step-dot.is-active {
    background: var(--aq-orange);
    border-color: var(--aq-orange);
    color: #fff;
}
.aco-quote-step-line {
    flex: 1;
    height: 2px;
    background: var(--aq-gray-300);
    margin: 0 6px;
}

/* !important here is deliberate: this is a live site with a lot of
   third-party plugin/theme CSS, and step visibility is functional, not
   cosmetic — it must win regardless of cascade order elsewhere. */
#aco-quote-form .aco-quote-step { display: none !important; }
#aco-quote-form .aco-quote-step.aco-quote-step--active { display: block !important; }

.aco-quote-back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: transparent;
    border: none;
    font-size: 14px !important;
    font-weight: 600;
    cursor: pointer;
    padding: 10px 23px;
    color: var(--aq-gray-700);
}
.aco-quote-back:hover { color: var(--aq-gray-900); }

.aco-quote-next {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: none;
    font-size: 16px !important;
    font-weight: 700 !important;
    cursor: pointer;
    padding: 10px 23px;
    color: #ff8a00;
    margin-left: auto;
}
.aco-quote-next:hover { color: var(--aq-orange-dark); }

.aco-quote-swatch-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding-top: 4px;
}
.aco-quote-swatch-option {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    width: 42px;
}
.aco-quote-swatch-option input[type="radio"],
.aco-quote-swatch-option input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
}
.aco-quote-swatch-color {
    display: block;
    width: 100%;
    height: 36px;
    border-radius: 8px;
    border: 1px solid rgba(0,0,0,0.12);
    background: var(--aq-gray-100);
    overflow: hidden;
}
.aco-quote-swatch-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.aco-quote-swatch-option input[type="radio"]:checked + .aco-quote-swatch-color,
.aco-quote-swatch-option input[type="checkbox"]:checked + .aco-quote-swatch-color {
    outline: 2px solid var(--aq-orange);
    outline-offset: 2px;
}
.aco-quote-swatch-label {
    font-size: 7px;
    font-weight: 500;
    color: var(--aq-gray-700);
    text-align: center;
    line-height: 1.3;
}

.aco-quote-gf-section {
    font-family: "Poppins", Arial, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 16px !important;
    font-weight: 700;
    color: var(--aq-blue);
    margin: 28px 0 4px;
    padding-bottom: 8px;
}
.aco-quote-gf-section:first-child { margin-top: 0; }

.aco-quote-gf-html {
    font-size: 13px;
    color: var(--aq-gray-700);
    margin-bottom: 16px;
}
.aco-quote-gf-html img { max-width: 100%; height: auto; border-radius: 8px; }

.aco-quote-radio-row {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
    padding: 16px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
}
.aco-quote-radio-pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: #334d74;
    cursor: pointer;
}
.aco-quote-radio-pill input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 1px solid #767676;
    background: #fff;
    margin: 0;
    position: relative;
    flex-shrink: 0;
}
.aco-quote-radio-pill input[type="radio"]:checked { border-color: var(--aq-orange); }
.aco-quote-radio-pill input[type="radio"]:checked::after {
    content: '';
    position: absolute;
    top: 4px;
    left: 4px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--aq-orange);
}

.aco-quote-digit-grid {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 16px 48px;
}
.aco-quote-digit {
    flex: none;
    width: 63px;
    text-align: center;
}
.aco-quote-digit label {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #334d74;
    margin-bottom: 6px;
}
.aco-quote-digit input[type="number"] {
    width: 100%;
    height: 33px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    padding: 4px;
    font-size: 14px;
    text-align: center;
    color: #334d74;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.aco-quote-digit input[type="number"]::placeholder { color: #9ca3af; }

.aco-quote-qty-input {
    width: 120px;
    border: 1px solid var(--aq-gray-300);
    border-radius: 8px;
    padding: 12px 14px;
    font-size: 14px;
}

.aco-quote-dropzone {
    border: 2px solid #c9d3e0;
    border-radius: 14px;
    padding: 40px 20px;
    text-align: center;
    cursor: pointer;
    background: #fafaf9;
    position: relative;
}
.aco-quote-dropzone:hover { border-color: var(--aq-orange); }
.aco-quote-dropzone input[type="file"] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
    width: 100%;
    height: 100%;
}
.aco-quote-dropzone-icon {
    position: relative;
    width: 74px;
    height: 52px;
    margin: 0 auto 16px;
}
.aco-quote-dropzone-icon .aq-card {
    position: absolute;
    top: 0;
    width: 44px;
    height: 50px;
    border: 2px solid #c9d3e0;
    border-radius: 6px;
    background: #fff;
}
.aco-quote-dropzone-icon .aq-card.back { left: 0; }
.aco-quote-dropzone-icon .aq-card.front {
    left: 28px;
    background: #fff3e5;
    border-color: var(--aq-orange);
    display: flex;
    align-items: center;
    justify-content: center;
}
.aco-quote-dropzone-icon .aq-plus {
    position: static;
    width: auto;
    height: auto;
    background: none;
    color: var(--aq-orange);
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
}
.aco-quote-dropzone-text {
    font-size: 13px;
    color: #6b7685;
    margin: 0;
    max-width: 520px;
    margin-inline: auto;
}

.aco-quote-file-list {
    list-style: none;
    margin: 14px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.aco-quote-file-list li {
    font-size: 13px;
    color: var(--aq-gray-700);
    background: var(--aq-gray-100);
    border-radius: 6px;
    padding: 8px 12px;
}

.aco-quote-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 24px;
    flex-wrap: wrap;
}

.aco-quote-status {
    font-size: 13px;
    color: var(--aq-green);
}
.aco-quote-status.is-error { color: var(--aq-red); }

.aco-quote-thanks {
    display: none;
    text-align: center;
    padding: 60px 20px;
}
.aco-quote-thanks.is-active { display: block; }
.aco-quote-thanks-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 20px;
    border-radius: 50%;
    background: var(--aq-green);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.aco-quote-thanks-icon svg { width: 30px; height: 30px; }
.aco-quote-thanks-title {
    font-size: 22px;
    font-weight: 700;
    color: var(--aq-blue);
    margin: 0 0 10px;
}
.aco-quote-thanks-text {
    font-size: 14px;
    color: var(--aq-gray-700);
    max-width: 460px;
    margin: 0 auto;
    line-height: 1.5;
}

.aco-quote-submit {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--aq-orange);
    color: #fff;
    border: none;
    font-size: 15px;
    font-weight: 600;
    padding: 14px 28px;
    border-radius: 999px;
    cursor: pointer;
}
.aco-quote-submit:hover { background: var(--aq-orange-dark); }
.aco-quote-submit:disabled { opacity: 0.6; cursor: not-allowed; }

@media (max-width: 720px) {
    .aco-quote-grid { grid-template-columns: 1fr; }
    .aco-quote-card { padding: 20px; }
    .aco-quote-digit-grid { gap: 10px 16px; }
    .aco-quote-digit { width: calc(20% - 13px); }
}


/* =============================================================================
   v1.3.47 - UI feedback pass for the quote form
   H1 38 / H2 22 / H3 16, 10px radius everywhere, full-length action buttons,
   shared hover states, steps indicator and color dropdown from the design.
   ============================================================================= */
.aco-quote { margin: 24px auto; }
.aco-quote-headrow { margin-bottom: 14px; }
.aco-quote-title { font-size: 38px; font-weight: 800; line-height: 1.15; margin: 0 0 4px; }   /* H1 */
.aco-quote-subtitle { font-size: 14px; }
.aco-quote-card { border-radius: 10px; padding: 20px 28px 20px; }
.aco-quote-grid { gap: 18px 32px; margin-bottom: 18px; }
.aco-quote-field { margin-bottom: 16px; }
.aco-quote-field > label { font-size: 14px; font-weight: 600; color: #002559; }
.aco-quote-gf-section { font-size: 16px !important; margin: 20px 0 4px; }                   /* H3 */
.aco-quote-thanks-title { font-size: 22px; }                                                 /* H2 */

/* 10px roundness */
#aco-quote-form .aco-quote-select,
#aco-quote-form .aco-quote-text,
#aco-quote-form .aco-quote-textarea { border-radius: 10px !important; }
.aco-quote-radio-row,
.aco-quote-dropzone,
.aco-quote-qty-input,
.aco-quote-digit input[type="number"],
.aco-quote-file-list li { border-radius: 10px; }

/* "How to order ?" - orange pill, navy on hover */
.aco-quote-howto { transition: background 0.2s ease, color 0.2s ease; }
.aco-quote-howto:hover { background: #002559; color: #fff; }
.aco-quote-howto:hover .aco-quote-play { color: #002559; }

/* Action buttons: full length at the bottom of the form */
.aco-quote-footer { gap: 12px; flex-wrap: nowrap; margin-top: 18px; }
.aco-quote-footer .aco-quote-status { flex: 0 0 auto; }
.aco-quote-submit,
.aco-quote-next {
    flex: 1 1 auto;
    width: 100%;
    justify-content: center;
    margin-left: 0;
    padding: 15px 28px;
    border: none;
    border-radius: 999px;
    background: linear-gradient(180deg, #f68b1f 0%, #da2128 100%);
    color: #fff;
    font-size: 15px !important;
    font-weight: 700 !important;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}
.aco-quote-submit:hover:not(:disabled),
.aco-quote-next:hover { background: #f68b1f; color: #fff; }
.aco-quote-back {
    flex: 0 0 auto;
    border: 1px solid #002559;
    border-radius: 999px;
    color: #002559;
    padding: 14px 24px;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.aco-quote-back:hover { background: #f68b1f; border-color: #f68b1f; color: #fff; }
@media (max-width: 720px) {
    .aco-quote-title { font-size: 30px; }
    .aco-quote-footer { flex-wrap: wrap; }
}

/* Steps indicator: orange check for finished steps, orange line, grey for what is left */
.aco-quote-steps-indicator { margin-bottom: 18px; }
.aco-quote-step-dot {
    width: 34px;
    height: 34px;
    border: 2px solid #e7e4df;
    background: #e7e4df;
    color: #fff;
    transition: background 0.2s ease, border-color 0.2s ease;
}
.aco-quote-step-dot.is-active { background: #f68b1f; border-color: #f68b1f; color: #fff; }
.aco-quote-step-dot.is-done { font-size: 0; }
.aco-quote-step-dot.is-done::after {
    content: "";
    width: 11px;
    height: 6px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-45deg) translate(1px, -1px);
}
.aco-quote-step-line { background: #e7e4df; height: 2px; margin: 0 8px; transition: background 0.2s ease; }
.aco-quote-step-line.is-done { background: #f68b1f; }

/* Color dropdown (built from the Color select): name, hex code, preview swatch */
.aco-quote-colorsel { position: relative; }
.aco-quote-colorsel > select { position: absolute; opacity: 0; pointer-events: none; width: 1px; height: 1px; }
.aco-quote-colorsel-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 12px 20px;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    color: #002559;
    font-family: inherit;
    font-size: 14px;
    text-align: left;
    cursor: pointer;
}
.aco-quote-colorsel.is-open .aco-quote-colorsel-btn { border-color: #f68b1f; }
.aco-quote-colorsel-name { flex: 1 1 auto; font-weight: 500; }
.aco-quote-colorsel-name.is-placeholder { color: #8a90a3; font-weight: 400; }
.aco-quote-colorsel-hex {
    font-family: "Space Mono", "SFMono-Regular", Consolas, monospace;
    font-size: 12px;
    font-weight: 600;
    color: #58607a;
    text-transform: uppercase;
}
.aco-quote-colorsel-chip {
    width: 40px;
    height: 20px;
    border-radius: 4px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    flex-shrink: 0;
}
.aco-quote-colorsel-caret { width: 10px; height: 6px; flex-shrink: 0; }
.aco-quote-colorsel-list {
    display: none;
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    z-index: 30;
    margin: 0;
    padding: 6px;
    list-style: none;
    max-height: 280px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14);
}
.aco-quote-colorsel.is-open .aco-quote-colorsel-list { display: block; }
.aco-quote-colorsel-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: 14px;
    color: #002559;
    cursor: pointer;
}
.aco-quote-colorsel-list li:hover,
.aco-quote-colorsel-list li.is-selected { background: #fff4e6; }

.aco-quote-footer > span:empty { display: none; }


/* =============================================================================
   v1.3.47b - titles/labels sized to the design (theme heading styles were overriding),
   color choices as a dropdown.
   ============================================================================= */
.aco-quote.aco-quote { font-size: 14px; }
.aco-quote.aco-quote .aco-quote-title {
    font-size: 30px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    color: #002559 !important;
    margin: 0 0 4px !important;
}
.aco-quote.aco-quote .aco-quote-subtitle { font-size: 13px !important; line-height: 1.5 !important; color: #8a90a3 !important; margin: 0 !important; }
.aco-quote.aco-quote .aco-quote-howto {
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 8px 8px 8px 20px !important;
    line-height: 1.3 !important;
}
#aco-quote-form .aco-quote-field > label {
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    color: #334d74 !important;
    margin-bottom: 6px !important;
}
#aco-quote-form .aco-quote-select,
#aco-quote-form .aco-quote-text,
#aco-quote-form .aco-quote-textarea { font-size: 14px !important; line-height: 1.4 !important; }
#aco-quote-form .aco-quote-radio-pill,
#aco-quote-form .aco-quote-checkbox-option { font-size: 14px !important; }
#aco-quote-form .aco-quote-gf-section {
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: #002559 !important;
}
.aco-quote-digit label { font-size: 13px !important; }

/* Color dropdown made of radios / checkboxes (GF color + image choices) */
.aco-quote-colorsel--inputs .aco-quote-colorsel-input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    margin: 0;
    pointer-events: none;
}
.aco-quote-colorsel-opt {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 !important;
    padding: 0 !important;
    width: 100%;
    cursor: pointer;
}
.aco-quote-colorsel-opt .aco-quote-colorsel-name { flex: 1 1 auto; font-size: 14px; font-weight: 500; color: #002559; }
.aco-quote-colorsel-chip--img { overflow: hidden; background: #f5f6f9; }
.aco-quote-colorsel-chip--img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.aco-quote-colorsel--inputs.is-invalid .aco-quote-colorsel-btn { border-color: #d1483f; }
.aco-quote-colorsel-list li { padding: 8px 12px; }
.aco-quote-colorsel-list li.is-selected { background: #fff4e6; }

/* Order form (configurator): titles small and aligned with the design */
.aco-wrap.aco-wrap .aco-step-title {
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    color: var(--aco-blue) !important;
    margin: 0 0 2px !important;
}
.aco-wrap.aco-wrap .aco-step-subtitle { font-size: 13px !important; line-height: 1.4 !important; }
.aco-wrap.aco-wrap .aco-config-label { font-size: 13px !important; font-weight: 700 !important; line-height: 1.3 !important; }

/* v1.3.48b - the theme styles every <button> as an orange pill; keep the color dropdown white, and use the full page width */
.aco-quote.aco-quote {
    max-width: none !important;
    width: 100% !important;
    margin: 24px 0 !important;
    padding: 0 !important;
}
.aco-quote .aco-quote-colorsel .aco-quote-colorsel-btn {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 12px 20px !important;
    background: #ffffff !important;
    background-image: none !important;
    color: #002559 !important;
    border: 1px solid #d1d5db !important;
    border-radius: 10px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-align: left !important;
    transform: none !important;
}
.aco-quote .aco-quote-colorsel .aco-quote-colorsel-btn:hover,
.aco-quote .aco-quote-colorsel .aco-quote-colorsel-btn:focus {
    background: #ffffff !important;
    color: #002559 !important;
    border-color: #f68b1f !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}
.aco-quote .aco-quote-colorsel.is-open .aco-quote-colorsel-btn { border-color: #f68b1f !important; }
.aco-quote .aco-quote-colorsel .aco-quote-colorsel-name { color: #002559 !important; font-size: 14px !important; font-weight: 500 !important; }
.aco-quote .aco-quote-colorsel .aco-quote-colorsel-name.is-placeholder { color: #8a90a3 !important; font-weight: 400 !important; }
.aco-quote .aco-quote-colorsel .aco-quote-colorsel-hex { color: #58607a !important; }


/* =============================================================================
   v1.3.50 - quote form matches the design mock:
   steps = orange ring-check circles joined by an orange line, grey numbers for what is left;
   "Continue" is the plain orange text link at the right; Submit stays full length.
   ============================================================================= */
.aco-quote-steps-indicator { margin: 4px 0 26px; padding: 0 4px; }
.aco-quote-step-dot {
    width: 38px;
    height: 38px;
    background: #e4e1dc;
    border: 2px solid #e4e1dc;
    color: #ffffff;
    font-size: 14px;
    font-weight: 500;
}
.aco-quote-step-dot.is-active,
.aco-quote-step-dot.is-done {
    background: #f68b1f;
    border-color: #f68b1f;
    font-size: 0;
}
.aco-quote-step-dot.is-active::after,
.aco-quote-step-dot.is-done::after {
    content: "";
    width: 22px;
    height: 22px;
    border: 0;
    transform: none;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='9.5'/%3E%3Cpath d='M7 11.4l2.8 2.8L15 8.6'/%3E%3C/svg%3E") no-repeat center / contain;
}
.aco-quote-step-line { height: 2px; background: #e4e1dc; margin: 0 18px; }
.aco-quote-step-dot.is-active + .aco-quote-step-line,
.aco-quote-step-line.is-done { background: #f68b1f; }

/* Continue -> : orange text link on the right, as in the design */
.aco-quote-footer { justify-content: space-between; flex-wrap: wrap; }
.aco-quote-footer .aco-quote-next {
    flex: 0 0 auto;
    width: auto;
    margin-left: auto;
    padding: 10px 4px;
    background: none !important;
    border: none;
    border-radius: 0;
    color: #f68b1f;
    font-size: 16px !important;
    font-weight: 700 !important;
}
.aco-quote-footer .aco-quote-next:hover { background: none !important; color: #d97a1c; }
