/* PrintX stylesheet v1.7.93.
   Order-preserved consolidation: the old three-layer cascade is now one active file.
   Do not reorder blocks mechanically; component cleanup should be manual and visual-tested. */

/* === Core === */
:root {

    --printx-navy: #1b2d63;

    --printx-navy-2: #101f49;

    --printx-cyan: #08aeea;

    --printx-magenta: #ed1f72;

    --printx-yellow: #ffc21a;

    --printx-green: #23aa58;

    --printx-orange: #f25a22;

    --printx-ink: #142033;

    --printx-muted: #65738a;

    --printx-line: #e6ebf3;

    --printx-soft: #f6f8fb;

    --printx-white: #ffffff;

}

/* PrintX clean hub refresh overrides. Kept near the top for older parsers. */

/* PrintX clean hub refresh: inspired by search-first knowledge/service layouts. */
.printx-site-header {
    border-bottom-color: rgba(11, 95, 255, .10);
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 12px 34px rgba(15, 23, 42, .07);
    backdrop-filter: blur(16px);
}

.printx-topbar {
    background: linear-gradient(90deg, rgba(224, 244, 255, .95), rgba(247, 243, 255, .95));
    color: #193153;
}

.printx-topbar a {
    color: #193153;
}

.printx-mainbar-wrap {
    background: linear-gradient(90deg, rgba(255, 255, 255, .98), rgba(236, 248, 255, .9));
}

.printx-menu a,
.printx-header-actions a,
.printx-header-order-lookup {
    border-radius: 10px;
}

.printx-menu a:hover,
.printx-menu .current-menu-item > a {
    color: #075eb8;
    background: rgba(8, 174, 234, .11);
}

.printx-header-search-form {
    border-color: rgba(11, 95, 255, .13);
    box-shadow: 0 12px 30px rgba(11, 95, 255, .09);
}

.printx-header-search-form .printx-search-submit,
.printx-button,
.printx-submit {
    background: linear-gradient(135deg, #0b7dda, #075eb8);
    box-shadow: 0 12px 28px rgba(11, 125, 218, .22);
}

.printx-hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 78% 32%, rgba(8, 174, 234, .23), transparent 32%),
        linear-gradient(135deg, #eef9ff 0%, #dff2ff 48%, #f5f0ff 100%);
}

.printx-hero::after {
    content: "";
    position: absolute;
    right: max(24px, calc((100vw - 1180px) / 2));
    bottom: 0;
    width: min(520px, 42vw);
    height: 72%;
    pointer-events: none;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .95), rgba(255, 255, 255, .42)),
        url("../images/logo-printx-nt.png") center / 52% auto no-repeat;
    border: 14px solid rgba(17, 24, 39, .88);
    border-bottom: 38px solid rgba(17, 24, 39, .88);
    border-radius: 26px 26px 18px 18px;
    box-shadow: 0 28px 70px rgba(11, 95, 255, .22);
    opacity: .86;
    transform: translateY(18%);
}

.printx-hero-inner,
.printx-hero .printx-container {
    position: relative;
    z-index: 1;
}

.printx-hero-copy {
    max-width: 660px;
}

.printx-hero h1 {
    color: #050816;
    letter-spacing: 0;
    text-wrap: balance;
}

.printx-hero p {
    color: #475569;
}

.printx-kicker,
.printx-hero .printx-kicker {
    border: 1px solid rgba(11, 95, 255, .08);
    background: rgba(255, 255, 255, .78);
    color: #075eb8;
    box-shadow: 0 8px 24px rgba(11, 95, 255, .08);
}

.printx-hero-finder,
.printx-order-lookup-form {
    border: 1px solid rgba(11, 95, 255, .10);
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 18px 44px rgba(11, 95, 255, .14);
}

.printx-hero-strip span,
.printx-category,
.printx-service,
.printx-product-panel,
.printx-order-card {
    border-color: rgba(11, 95, 255, .10);
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 18px 44px rgba(15, 23, 42, .06);
}

.printx-category {
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.printx-category:hover {
    border-color: rgba(8, 174, 234, .28);
    box-shadow: 0 24px 56px rgba(11, 95, 255, .12);
    transform: translateY(-3px);
}

.printx-category span,
.printx-industry-grid a span,
.printx-order-step span {
    background: #e9f6ff;
    color: #075eb8;
}

.printx-section-head h2,
.printx-product-depth h2,
.printx-order-lookup-copy h2 {
    color: #07142b;
    text-wrap: balance;
}

.printx-section:nth-of-type(even) {
    background: linear-gradient(180deg, #ffffff, #f7fbff);
}

@media (max-width: 1020px) {
    .printx-hero::after {
        opacity: .22;
        width: 72vw;
        right: -18vw;
    }
}

@media (max-width: 700px) {
    .printx-hero::after {
        display: none;
    }

    .printx-topbar {
        background: #eef9ff;
    }
}

.printx-order-lookup {
    background: #f7fafc;
}

.printx-order-lookup-inner {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(320px, 1.12fr);
    gap: 28px;
    align-items: start;
}

.printx-order-lookup-copy h2 {
    margin: 8px 0 12px;
}

.printx-order-lookup-copy p {
    max-width: 520px;
    margin: 0;
    color: #516070;
}

.printx-order-lookup-form {
    display: grid;
    gap: 14px;
    padding: 22px;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 18px 48px rgba(15, 23, 42, 0.08);
}

.printx-order-lookup-form label {
    display: grid;
    gap: 8px;
    margin: 0;
    color: #162033;
    font-weight: 800;
}

.printx-order-lookup-form input {
    width: 100%;
    min-height: 48px;
    padding: 0 14px;
    border: 1px solid rgba(15, 23, 42, 0.16);
    border-radius: 10px;
    color: #162033;
    background: #ffffff;
    font-size: 16px;
    font-weight: 800;
    text-transform: uppercase;
}

.printx-order-lookup-form .printx-button {
    justify-content: center;
    min-height: 48px;
    margin: 0;
}

.printx-order-lookup-form .printx-button:disabled {
    cursor: wait;
    opacity: 0.72;
}

.printx-order-lookup-result {
    min-height: 0;
}

.printx-order-lookup-message {
    padding: 14px 16px;
    border-radius: 10px;
    color: #31506b;
    background: #eaf5ff;
    font-weight: 700;
}

.printx-order-lookup-message.is-error {
    color: #8a1f1f;
    background: #fff0f0;
}

.printx-order-lookup-debug {
    margin: 10px 0 0;
    padding: 12px;
    border-radius: 8px;
    color: #334155;
    background: #f8fafc;
    border: 1px dashed #cbd5e1;
    font-size: 12px;
    line-height: 1.45;
    white-space: pre-wrap;
}

.printx-order-card {
    display: grid;
    gap: 18px;
    padding: 22px;
    border: 1px solid rgba(11, 95, 255, 0.16);
    border-radius: 14px;
    background: #ffffff;
}

.printx-order-card-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
}

.printx-order-card-head span,
.printx-order-items span {
    color: #607086;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.printx-order-card-head strong {
    display: block;
    margin-top: 4px;
    color: #0b5fff;
    font-size: 26px;
    line-height: 1.1;
}

.printx-order-card-head em {
    padding: 7px 11px;
    border-radius: 999px;
    color: #0b5fff;
    background: rgba(11, 95, 255, 0.1);
    font-size: 13px;
    font-style: normal;
    font-weight: 900;
}

.printx-order-card dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
}

.printx-order-card dl div {
    min-width: 0;
    padding: 12px 14px;
    border-radius: 10px;
    background: #f8fafc;
}

.printx-order-card dt {
    color: #708092;
    font-size: 12px;
    font-weight: 800;
}

.printx-order-card dd {
    margin: 2px 0 0;
    color: #162033;
    font-weight: 850;
}

.printx-order-timeline {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0;
    padding: 12px;
    border-radius: 12px;
    background: #f8fafc;
    overflow: hidden;
}

.printx-order-step {
    position: relative;
    display: grid;
    justify-items: center;
    gap: 7px;
    color: #94a3b8;
    text-align: center;
    font-size: 11px;
    font-weight: 850;
}

.printx-order-step::before {
    content: "";
    position: absolute;
    top: 13px;
    left: 0;
    right: 0;
    height: 2px;
    background: #dbe5f1;
    z-index: 0;
}

.printx-order-step:first-child::before {
    left: 50%;
}

.printx-order-step:last-child::before {
    right: 50%;
}

.printx-order-step span {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    color: #64748b;
    background: #e2e8f0;
    font-size: 12px;
    font-weight: 950;
}

.printx-order-step.is-done,
.printx-order-step.is-current {
    color: #0b5fff;
}

.printx-order-step.is-done span,
.printx-order-step.is-current span {
    color: #fff;
    background: #0b5fff;
}

.printx-order-step.is-current span {
    box-shadow: 0 0 0 5px rgba(11, 95, 255, .12);
}

.printx-order-table-wrap {
    margin-top: 10px;
    overflow-x: auto;
    border: 1px solid #dbe5f1;
    border-radius: 10px;
}

.printx-order-items table {
    width: 100%;
    border-collapse: collapse;
    min-width: 680px;
    color: #162033;
    font-size: 13px;
}

.printx-order-items th,
.printx-order-items td {
    padding: 10px 12px;
    border-bottom: 1px solid #e5edf7;
    text-align: left;
    vertical-align: top;
}

.printx-order-items th {
    color: #334155;
    background: #f1f5f9;
    font-size: 12px;
    font-weight: 950;
}

.printx-order-items td:first-child,
.printx-order-items th:first-child {
    width: 48px;
    text-align: center;
}

.printx-order-items td.is-number,
.printx-order-items th:nth-last-child(-n + 3) {
    text-align: right;
    white-space: nowrap;
}

.printx-order-items th:last-child,
.printx-order-items td:last-child {
    padding-right: 22px;
}

.printx-order-items small {
    display: block;
    margin-top: 3px;
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
}

.printx-order-vat {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 18px;
    margin-top: 16px;
    padding: 10px 16px;
    border-radius: 8px;
    background: #f8fafc;
}

.printx-order-vat span {
    color: #64748b;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.printx-order-vat strong {
    color: #334155;
    font-size: 16px;
}

.printx-order-total {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 18px;
    padding: 14px 16px;
    border-radius: 10px;
    background: #fff7ed;
}

.printx-order-total span {
    color: #9a3412;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
}

.printx-order-total strong {
    color: #c2410c;
    font-size: 22px;
}

.printx-order-lookup-open {
    overflow: hidden;
}

.printx-order-lookup-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    align-items: flex-start;
    justify-content: center;
    padding: 88px 18px 24px;
}

.printx-order-lookup-modal.is-open {
    display: flex;
}

.printx-order-lookup-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(10, 18, 34, .56);
    backdrop-filter: blur(6px);
}

.printx-order-lookup-dialog {
    position: relative;
    z-index: 1;
    width: min(820px, 100%);
    max-height: calc(100vh - 112px);
    overflow: auto;
    padding: 26px;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 28px 80px rgba(10, 18, 34, .28);
}

.printx-order-lookup-dialog .printx-order-lookup-copy {
    padding-right: 44px;
    margin-bottom: 16px;
}

.printx-order-lookup-dialog .printx-order-lookup-copy h2 {
    margin: 6px 0 8px;
    color: var(--printx-navy);
}

.printx-order-lookup-dialog .printx-order-lookup-form {
    padding: 0;
    border: 0;
    box-shadow: none;
}

.printx-order-lookup-close {
    position: absolute;
    top: 16px;
    right: 16px;
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    min-height: 38px;
    padding: 0;
    border: 1px solid var(--printx-line);
    border-radius: 999px;
    color: var(--printx-navy);
    background: #fff;
    cursor: pointer;
}

.printx-order-lookup-close:hover {
    color: #fff;
    background: var(--printx-orange);
}

@media (max-width: 849px) {
    .printx-order-lookup-inner {
        grid-template-columns: 1fr;
    }

    .printx-order-card dl {
        grid-template-columns: 1fr;
    }

    .printx-order-timeline {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .printx-order-step {
        justify-items: start;
        grid-template-columns: 28px minmax(0, 1fr);
        text-align: left;
    }

    .printx-order-step::before {
        display: none;
    }

    .printx-order-total {
        justify-content: space-between;
    }

    .printx-order-lookup-modal {
        align-items: flex-end;
        padding: 64px 10px 10px;
    }

    .printx-order-lookup-dialog {
        max-height: calc(100vh - 74px);
        padding: 22px 18px;
        border-radius: 18px 18px 12px 12px;
    }
}


/* UX Builder starter layouts keep content editable while reusing the PrintX look. */

.printx-ux-builder-page .section {

    overflow: hidden;

}



.printx-ux-builder-page h1,

.printx-ux-builder-page h2,

.printx-ux-builder-page h3 {

    color: var(--printx-ink);

    letter-spacing: 0;

}



.printx-ux-builder-page p {

    color: var(--printx-muted);

}



.printx-ux-builder-page .button {

    border-radius: 8px;

    font-weight: 800;

    letter-spacing: 0;

}



.printx-ux-builder-page .printx-ux-hero h1,

.printx-ux-builder-page .printx-ux-hero h2,

.printx-ux-builder-page .printx-ux-hero h3,

.printx-ux-builder-page .printx-ux-hero p {

    color: #fff;

}



.printx-ux-builder-page .printx-ux-hero h1 {

    max-width: 720px;

    font-size: clamp(36px, 6vw, 72px);

    line-height: .95;

    margin-bottom: 22px;

}



.printx-ux-builder-page .printx-ux-hero p:first-child,

.printx-ux-builder-page .printx-ux-categories p:first-child,

.printx-ux-builder-page .printx-ux-services p:first-child,

.printx-ux-builder-page .printx-ux-products p:first-child,

.printx-ux-builder-page .printx-ux-process p:first-child,

.printx-ux-builder-page .printx-ux-faq p:first-child,

.printx-ux-builder-page .printx-ux-quote-hero p:first-child {

    display: inline-flex;

    width: fit-content;

    margin-bottom: 14px;

    padding: 7px 12px;

    border-radius: 999px;

    background: rgba(0, 178, 255, .12);

    color: var(--printx-cyan);

    font-size: .78rem;

    font-weight: 800;

    text-transform: uppercase;

}



.printx-ux-builder-page .printx-ux-hero .col:last-child .col-inner,

.printx-ux-builder-page .printx-ux-categories .col:not(:first-child) .col-inner,

.printx-ux-builder-page .printx-ux-services .col:not(:first-child) .col-inner,

.printx-ux-builder-page .printx-ux-process .col:not(:first-child) .col-inner,

.printx-ux-builder-page .printx-ux-support .col .col-inner {

    height: 100%;

    padding: 24px;

    border: 1px solid rgba(8, 36, 54, .1);

    border-radius: 14px;

    background: #fff;

    box-shadow: 0 18px 45px rgba(8, 36, 54, .08);

}



.printx-ux-builder-page .printx-ux-hero .col:last-child .col-inner {

    border-color: rgba(255, 255, 255, .16);

    background: rgba(255, 255, 255, .08);

    box-shadow: none;

}



.printx-ux-builder-page .printx-ux-hero .col:last-child h3 {

    color: #fff;

    font-size: 1.15rem;

    margin-top: 0;

}



.printx-ux-builder-page .printx-ux-hero .col:last-child p {

    margin-bottom: 22px;

    color: rgba(255, 255, 255, .78);

}



.printx-ux-builder-page .printx-ux-trust .col-inner {

    padding: 22px 0;

}



.printx-ux-builder-page .printx-ux-trust h2 {

    margin-bottom: 6px;

    color: var(--printx-ink);

    font-size: clamp(32px, 4vw, 48px);

    line-height: 1;

}



.printx-ux-builder-page .printx-ux-categories h2,

.printx-ux-builder-page .printx-ux-services h2,

.printx-ux-builder-page .printx-ux-products h2,

.printx-ux-builder-page .printx-ux-process h2,

.printx-ux-builder-page .printx-ux-faq h2,

.printx-ux-builder-page .printx-ux-quote-hero h1 {

    max-width: 850px;

    font-size: clamp(30px, 4vw, 52px);

    line-height: 1.05;

}



.printx-ux-builder-page .printx-ux-categories .col:not(:first-child) h3,

.printx-ux-builder-page .printx-ux-services .col:not(:first-child) h3,

.printx-ux-builder-page .printx-ux-process .col:not(:first-child) h3,

.printx-ux-builder-page .printx-ux-support h3 {

    margin-top: 0;

    font-size: 1.1rem;

}



.printx-ux-builder-page .printx-ux-categories .col:not(:first-child) .button {

    margin-top: 8px;

}



.printx-ux-builder-page .printx-ux-quote .printx-quote-card,

.printx-ux-builder-page .printx-ux-quote-hero .printx-quote-card {

    margin-top: 24px;

}



.printx-ux-builder-page .printx-ux-faq h3 {

    margin-top: 26px;

    padding-top: 22px;

    border-top: 1px solid rgba(8, 36, 54, .1);

}



@media (max-width: 849px) {

    .printx-ux-builder-page .printx-ux-hero h1 {

        font-size: 40px;

    }



    .printx-ux-builder-page .printx-ux-hero .col:last-child .col-inner,

    .printx-ux-builder-page .printx-ux-categories .col:not(:first-child) .col-inner,

    .printx-ux-builder-page .printx-ux-services .col:not(:first-child) .col-inner,

    .printx-ux-builder-page .printx-ux-process .col:not(:first-child) .col-inner,

    .printx-ux-builder-page .printx-ux-support .col .col-inner {

        padding: 20px;

    }

}



html {

    scroll-behavior: smooth;

}



.printx-brand {

    --primary-font: Inter, "Be Vietnam Pro", "Segoe UI", Arial, sans-serif;

    --body-font: Inter, "Be Vietnam Pro", "Segoe UI", Arial, sans-serif;

    --heading-font: Inter, "Be Vietnam Pro", "Segoe UI", Arial, sans-serif;

    color: var(--printx-ink);

    background: var(--printx-white);

    font-family: Inter, "Be Vietnam Pro", "Segoe UI", Arial, sans-serif;

    text-rendering: optimizeLegibility;

    -webkit-font-smoothing: antialiased;

}



.printx-brand h1,

.printx-brand h2,

.printx-brand h3,

.printx-brand h4,

.printx-brand h5,

.printx-brand h6,

.printx-brand input,

.printx-brand button,

.printx-brand select,

.printx-brand textarea {

    font-family: Inter, "Be Vietnam Pro", "Segoe UI", Arial, sans-serif !important;

}



.printx-brand .header-wrapper,

.printx-brand #header,

.printx-brand .absolute-footer,

.printx-brand .footer-wrapper {

    display: none !important;

}



.printx-site-main {

    min-height: 60vh;

}



.printx-site-header {

    position: sticky;

    top: 0;

    z-index: 1002;

    border-bottom: 1px solid var(--printx-line);

    background: var(--printx-white);

    box-shadow: 0 10px 28px rgba(16, 31, 73, .08);

}



.printx-topbar {

    color: #fff;

    background: var(--printx-navy);

    font-size: 12px;

    font-weight: 800;

}



.printx-topbar-inner {

    display: flex;

    align-items: center;

    justify-content: space-between;

    min-height: 32px;

    gap: 18px;

}



.printx-topbar a {

    color: #fff;

}



.printx-topbar-inner div {

    display: flex;

    gap: 16px;

}



.printx-mainbar-wrap {

    border-bottom: 1px solid var(--printx-line);

    background: rgba(255, 255, 255, .96);

    backdrop-filter: blur(12px);

}



.printx-mainbar {

    display: grid;

    grid-template-columns: auto minmax(0, 1fr) auto;

    gap: 24px;

    align-items: center;

    min-height: 78px;

}



.printx-brand-logo img {

    display: block;

    width: 178px;

    height: auto;

}



.printx-primary-nav {

    justify-self: center;

}



.printx-menu {

    display: flex;

    align-items: center;

    gap: 6px;

    margin: 0;

    padding: 0;

    list-style: none;

}



.printx-menu li {

    margin: 0;

}



.printx-menu a {

    display: inline-flex;

    align-items: center;

    min-height: 42px;

    padding: 0 12px;

    border-radius: 6px;

    color: var(--printx-navy);

    font-size: 14px;

    font-weight: 900;

}



.printx-menu a:hover,

.printx-menu .current-menu-item > a {

    color: var(--printx-orange);

    background: rgba(242, 90, 34, .08);

}



.printx-header-actions {

    display: flex;

    align-items: center;

    gap: 10px;

}



.printx-header-search-form {

    position: relative;

    display: grid;

    grid-template-columns: minmax(0, 1fr) 42px;

    align-items: center;

    margin: 0;

    padding: 4px;

    border: 1px solid rgba(27, 45, 99, .12);

    border-radius: 999px;

    background: rgba(255, 255, 255, .96);

    box-shadow: 0 10px 26px rgba(16, 31, 73, .08);

    width: 300px;

    max-width: 300px;

    opacity: 1;

    overflow: hidden;

    pointer-events: auto;

    transform: translateY(0);

    visibility: visible;

    transition: max-width .22s ease, opacity .18s ease, transform .18s ease, visibility .18s ease;

}



.printx-site-header.is-search-visible .printx-header-search-form,

.printx-header-search-form:focus-within,

.printx-header-search-form.has-value {

    max-width: 300px;

    opacity: 1;

    pointer-events: auto;

    transform: translateY(0);

    visibility: visible;

}



.printx-header-search-form input {

    width: 100%;

    min-height: 40px;

    padding: 0 36px 0 16px;

    margin: 0 !important;

    border: 0 !important;

    box-shadow: none !important;

    outline: 0;

    background: transparent;

    color: var(--printx-navy);

    font-size: 13px;

    font-weight: 800;

    line-height: 40px;

}



.printx-header-search-form .printx-search-clear,

.printx-header-search-form .printx-search-submit {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-height: 40px;

    padding: 0 !important;

    border: 0;

}



.printx-header-search-form .printx-search-clear {

    display: none;

    position: absolute;

    right: 50px;

    top: 50%;

    width: 28px;

    height: 28px;

    min-height: 28px;

    color: var(--printx-muted);

    background: transparent;

    transform: translateY(-50%);

}



.printx-header-search-form.has-value .printx-search-clear {

    display: inline-flex;

}



.printx-header-search-form .printx-search-submit {

    color: #fff;

    background: var(--printx-orange);

    border-radius: 999px;

    width: 40px;

    min-height: 40px;

    margin: 0;

    font-size: 16px;

}



.printx-header-search-form:focus-within {

    border-color: rgba(242, 90, 34, .38);

    box-shadow: 0 12px 28px rgba(242, 90, 34, .12);

}



.printx-header-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 40px;

    padding: 0 12px;

    border: 1px solid var(--printx-line);

    border-radius: 6px;

    color: var(--printx-navy);

    font-size: 13px;

    font-weight: 900;

    white-space: nowrap;
}

.printx-header-order-lookup {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 40px;
    padding: 0 12px;
    border: 1px solid rgba(242, 90, 34, .28);
    border-radius: 6px;
    color: var(--printx-orange);
    background: rgba(242, 90, 34, .08);
    font-size: 13px;
    font-weight: 900;
    white-space: nowrap;
    cursor: pointer;
}

.printx-header-order-lookup:hover,
.printx-header-order-lookup:focus-visible {
    color: #fff;
    background: var(--printx-orange);
}

.printx-header-actions a:hover {
    color: var(--printx-orange);
}


.printx-header-cart {

    background: var(--printx-soft);

}



.printx-header-cart span {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-width: 22px;

    height: 22px;

    margin-left: 7px;

    border-radius: 50%;

    color: #fff;

    background: var(--printx-orange);

    font-size: 12px;

}



.printx-menu-toggle {

    display: none;

    align-items: center;

    justify-content: center;

    gap: 7px;

    min-width: 72px;

    height: 42px;

    padding: 0;

    border: 1px solid var(--printx-line);

    border-radius: 6px;

    background: var(--printx-white);

    color: var(--printx-navy);

    font-size: 12px;

    font-weight: 900;

    line-height: 1;

    box-shadow: 0 8px 20px rgba(16, 31, 73, .08);

}



.printx-menu-toggle-lines {

    position: relative;

    display: inline-flex;

    width: 22px;

    height: 16px;

    flex-direction: column;

    justify-content: space-between;

}



.printx-menu-toggle-lines span {

    display: block;

    width: 22px;

    height: 2px;

    margin: 0;

    border-radius: 99px;

    background: var(--printx-navy);

    transition: transform .18s ease, opacity .14s ease;

}



.printx-menu-toggle.is-open .printx-menu-toggle-lines span:nth-child(1) {

    transform: translateY(7px) rotate(45deg);

}



.printx-menu-toggle.is-open .printx-menu-toggle-lines span:nth-child(2) {

    opacity: 0;

}



.printx-menu-toggle.is-open .printx-menu-toggle-lines span:nth-child(3) {

    transform: translateY(-7px) rotate(-45deg);

}



.printx-menu-toggle.is-open {

    border-color: rgba(242, 90, 34, .34);

    color: var(--printx-orange);

    background: rgba(242, 90, 34, .08);

}



.printx-container {

    width: min(1180px, calc(100% - 32px));

    margin: 0 auto;

}



.printx-page-hero {

    padding: 58px 0;

    border-bottom: 1px solid var(--printx-line);

    background:

        linear-gradient(135deg, rgba(8, 174, 234, .08), rgba(242, 90, 34, .08)),

        var(--printx-soft);

}



.printx-page-hero h1 {

    max-width: 920px;

    margin: 0;

    color: var(--printx-navy);

    font-size: clamp(30px, 4vw, 48px);

    font-weight: 820;

    line-height: 1.18;

    letter-spacing: 0;

}



.printx-page-hero p {

    max-width: 760px;

    margin: 16px 0 0;

    color: var(--printx-muted);

    font-size: 18px;

    line-height: 1.65;

}



.printx-entry-content {

    padding: 48px 0 72px;

}



.printx-entry-content > * {

    max-width: 880px;

}



.printx-entry-content > .alignwide,

.printx-entry-content > .alignfull,

.printx-entry-content > .ux-builder-content {

    max-width: none;

}



.printx-section {

    padding: 78px 0;

}



.printx-kicker {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    margin-bottom: 14px;

    color: var(--printx-orange);

    font-size: 12px;

    font-weight: 900;

    letter-spacing: 0;

    text-transform: uppercase;

}



.printx-kicker::before {

    content: "";

    width: 28px;

    height: 3px;

    background: var(--printx-cyan);

}



.printx-section-head {

    max-width: 780px;

    margin-bottom: 34px;

}



.printx-section-head-row {

    display: grid;

    grid-template-columns: minmax(0, 1fr) minmax(240px, 380px);

    gap: 28px;

    align-items: end;

    max-width: none;

}



.printx-section-head-row > p,

.printx-materials-inner > div > p,

.printx-product-band p {

    margin: 0;

    color: var(--printx-muted);

    line-height: 1.68;

}



.printx-section-head h2,

.printx-quote-copy h2,

.printx-materials h2,

.printx-product-band h2,

.printx-faq h2 {

    margin: 0;

    color: var(--printx-navy);

    font-size: clamp(26px, 2.6vw, 38px);

    line-height: 1.24;

    letter-spacing: 0;

}



.printx-hero {

    position: relative;

    overflow: visible;

    padding: 44px 0 14px;

    background:

        radial-gradient(circle at 78% 30%, rgba(8, 174, 234, .14), transparent 34%),

        radial-gradient(circle at 18% 18%, rgba(255, 194, 26, .18), transparent 28%),

        linear-gradient(180deg, rgba(246, 248, 251, .96), rgba(255, 255, 255, 1)),

        var(--printx-white);

    border-bottom: 1px solid var(--printx-line);

}



.printx-hero::before {

    content: "";

    position: absolute;

    left: max(16px, calc((100% - 1180px) / 2));

    right: auto;

    bottom: 0;

    width: min(1180px, calc(100% - 32px));

    height: 8px;

    border-radius: 99px 99px 0 0;

    background: linear-gradient(90deg, var(--printx-cyan) 0 20%, var(--printx-magenta) 20% 40%, var(--printx-yellow) 40% 60%, var(--printx-green) 60% 80%, var(--printx-orange) 80% 100%);

}



.printx-hero-inner {

    position: relative;

    z-index: 20;

    display: grid;

    grid-template-columns: minmax(0, .94fr) minmax(330px, .66fr);

    gap: clamp(28px, 4vw, 54px);

    align-items: center;

}



.printx-hero-logo {

    display: block;

    width: min(260px, 68vw);

    height: auto;

    margin-bottom: 26px;

}



.printx-hero h1 {

    max-width: 610px;

    margin: 0 0 14px;

    color: var(--printx-navy);

    font-size: clamp(32px, 3.2vw, 46px);

    font-weight: 850;

    line-height: 1.16;

    letter-spacing: 0;

}



.printx-hero h1 span {

    display: block;

    color: var(--printx-orange);

}



.printx-typewriter .printx-type-line-one {

    color: var(--printx-navy);

}



.printx-typewriter .printx-type-line-two {

    color: var(--printx-orange);

}



.printx-hero p {

    max-width: 590px;

    margin: 0 0 18px;

    color: var(--printx-muted);

    font-size: 16px;

    line-height: 1.62;

}



.printx-hero-finder {

    position: relative;

    z-index: 40;

    display: grid;

    grid-template-columns: minmax(0, 1fr) 150px;

    gap: 8px;

    max-width: 650px;

    margin: 0 0 18px;

    padding: 7px;

    border: 1px solid rgba(27, 45, 99, .12);

    border-radius: 14px;

    background: rgba(255, 255, 255, .96);

    box-shadow: 0 18px 42px rgba(16, 31, 73, .10);

}



.printx-hero-finder input[type="search"] {

    width: 100%;

    min-height: 44px;

    padding: 0 42px 0 16px;

    margin: 0 !important;

    border: 0 !important;

    box-shadow: none !important;

    outline: 0;

    border-radius: 9px;

    background: #f7f9fc;

    color: var(--printx-ink);

    font-size: 14px;

    font-weight: 700;

}



.printx-hero-finder .printx-search-clear,

.printx-hero-finder .printx-search-submit {

    min-height: 44px;

    border: 0;

    border-radius: 9px;

    font-weight: 900;

    white-space: nowrap;

}



.printx-hero-finder .printx-search-clear {

    display: none;

    position: absolute;

    right: 164px;

    top: 50%;

    width: 32px;

    height: 32px;

    min-height: 32px;

    padding: 0;

    color: var(--printx-muted);

    background: transparent;

    transform: translateY(-50%);

}



.printx-hero-finder.has-value .printx-search-clear {

    display: inline-flex;

    align-items: center;

    justify-content: center;

}



.printx-hero-finder .printx-search-submit {

    width: 100%;

    min-width: 0;

    padding: 0 14px !important;

    color: #fff;

    background: var(--printx-navy);

    box-shadow: 0 10px 20px rgba(27, 45, 99, .18);

}



.printx-hero-finder:focus-within {

    border-color: rgba(8, 174, 234, .38);

    box-shadow: 0 18px 44px rgba(8, 174, 234, .13);

}



.printx-live-search-results {

    position: absolute;

    left: 0;

    right: 0;

    top: calc(100% + 8px);

    z-index: 3000;

    display: none;

    overflow: hidden;

    border: 1px solid var(--printx-line);

    border-radius: 8px;

    background: #fff;

    box-shadow: 0 24px 48px rgba(16, 31, 73, .14);

}



.printx-header-search-form .printx-live-search-results {

    min-width: 420px;

    left: auto;

    right: 0;

}



.printx-header-search-form .printx-live-search-grid {

    grid-template-columns: 1fr;

}



.printx-header-search-form .printx-live-product {

    border-right: 0;

}



.printx-live-search-results.is-open {

    display: block;

}



.printx-live-search-grid {

    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 0;

}



.printx-live-product {

    display: grid;

    grid-template-columns: 58px minmax(0, 1fr);

    gap: 12px;

    align-items: center;

    padding: 12px;

    border-right: 1px solid var(--printx-line);

    border-bottom: 1px solid var(--printx-line);

    color: var(--printx-navy);

}



.printx-live-product:nth-child(2n) {

    border-right: 0;

}



.printx-live-thumb {

    display: grid;

    place-items: center;

    width: 58px;

    height: 58px;

    border-radius: 6px;

    background: var(--printx-soft);

    color: var(--printx-cyan);

}



.printx-live-thumb img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    border-radius: 6px;

}



.printx-live-info {

    display: grid;

    gap: 4px;

    min-width: 0;

}



.printx-live-info strong {

    overflow: hidden;

    color: var(--printx-navy);

    font-size: 14px;

    font-weight: 900;

    text-overflow: ellipsis;

    white-space: nowrap;

}



.printx-live-info em,

.printx-live-info .amount {

    color: var(--printx-orange);

    font-style: normal;

    font-size: 13px;

    font-weight: 900;

}



.printx-live-search-empty {

    padding: 16px;

    color: var(--printx-muted);

    font-weight: 800;

}



.printx-hero-actions,

.printx-section-head-row > .button {

    display: flex;

    flex-wrap: wrap;

    gap: 12px;

}



.printx-hero-actions {

    align-items: center;

    margin-top: 4px;

}



.printx-button,

.printx-button-outline,

.printx-submit {

    min-height: 44px;

    padding: 0 24px !important;

    border-radius: 6px !important;

    font-weight: 900;

    letter-spacing: 0;

}



.printx-button,

.printx-submit {

    border-color: var(--printx-orange) !important;

    background: var(--printx-orange) !important;

}



.printx-button:hover,

.printx-submit:hover {

    border-color: var(--printx-navy) !important;

    background: var(--printx-navy) !important;

}



.printx-button-outline {

    color: var(--printx-navy) !important;

    border: 1px solid var(--printx-navy) !important;

    background: var(--printx-white) !important;

}



.printx-hero-proof {

    display: grid;

    gap: 14px;

    margin: 0;

}



.printx-hero-proof span {

    position: relative;

    display: grid;

    grid-template-columns: 44px minmax(0, 1fr);

    column-gap: 12px;

    row-gap: 2px;

    align-items: center;

    min-height: 84px;

    padding: 15px 16px;

    border: 1px solid rgba(27, 45, 99, .10);

    border-radius: 12px;

    color: var(--printx-navy);

    background: var(--printx-white);

    box-shadow: 0 14px 34px rgba(16, 31, 73, .07);

    animation: printx-card-rise .65s ease both;

}



.printx-hero-proof span:nth-child(2) {

    animation-delay: .08s;

}



.printx-hero-proof span:nth-child(3) {

    animation-delay: .16s;

}



.printx-hero-proof i {

    display: grid;

    grid-row: span 2;

    place-items: center;

    width: 44px;

    height: 44px;

    border-radius: 8px;

    color: #fff;

    background: var(--printx-orange);

}



.printx-hero-proof span:nth-child(2) i {

    background: var(--printx-cyan);

}



.printx-hero-proof span:nth-child(3) i {

    background: var(--printx-green);

}



.printx-hero-proof strong {

    display: block;

    font-size: 15px;

    font-weight: 900;

    line-height: 1.18;

}



.printx-hero-proof em {

    color: var(--printx-muted);

    font-size: 12px;

    font-style: normal;

    font-weight: 800;

    line-height: 1.3;

}



@keyframes printx-card-rise {

    from {

        opacity: 0;

        transform: translateY(12px);

    }



    to {

        opacity: 1;

        transform: translateY(0);

    }

}



.printx-print-preview {

    display: none;

}



.printx-hero-conversion {

    display: grid;

    position: relative;

    align-self: center;

    gap: 18px;

    padding: 26px;

    border: 1px solid var(--printx-line);

    border-radius: 16px;

    background: rgba(255, 255, 255, .92);

    box-shadow: 0 24px 58px rgba(16, 31, 73, .12);

    backdrop-filter: blur(10px);

}



.printx-hero-conversion::before {

    content: "";

    position: absolute;

    left: 0;

    top: 24px;

    bottom: 24px;

    width: 5px;

    border-radius: 0 6px 6px 0;

    background: linear-gradient(180deg, var(--printx-cyan), var(--printx-magenta), var(--printx-yellow), var(--printx-orange));

    pointer-events: none;

}



.printx-hero-conversion-head,

.printx-hero-benefits,

.printx-hero-mini-quote {

    position: relative;

    z-index: 1;

}



.printx-hero-conversion-head {

    display: grid;

    gap: 10px;

}



.printx-hero-conversion-head span,

.printx-hero-mini-quote span {

    color: var(--printx-orange);

    font-size: 12px;

    font-weight: 900;

    text-transform: uppercase;

}



.printx-hero-conversion-head strong {

    color: var(--printx-navy);

    font-size: clamp(20px, 1.8vw, 26px);

    line-height: 1.16;

}



.printx-hero-benefits {

    display: grid;

    gap: 10px;

}



.printx-hero-benefits div {

    display: grid;

    grid-template-columns: 42px minmax(0, 1fr);

    column-gap: 13px;

    row-gap: 3px;

    align-items: center;

    padding: 13px;

    border-radius: 8px;

    background: var(--printx-soft);

}



.printx-hero-benefits i {

    display: grid;

    place-items: center;

    grid-row: span 2;

    width: 42px;

    height: 42px;

    border-radius: 8px;

    color: #fff;

    background: var(--printx-navy);

}



.printx-hero-benefits strong {

    color: var(--printx-navy);

    font-size: 16px;

}



.printx-hero-benefits span {

    color: var(--printx-muted);

    line-height: 1.4;

}



.printx-hero-mini-quote {

    padding: 16px;

    border: 1px solid var(--printx-line);

    border-radius: 8px;

    background: #fff;

}



.printx-hero-mini-quote strong {

    display: block;

    color: var(--printx-navy);

    font-size: 18px;

    line-height: 1.25;

}



.printx-print-preview::before {

    content: "";

    position: absolute;

    inset: 22px;

    border: 1px solid rgba(255, 255, 255, .14);

    border-radius: 6px;

}



.printx-preview-stage {

    position: absolute;

    inset: 34px;

    overflow: hidden;

    border: 1px solid rgba(255, 255, 255, .14);

    border-radius: 8px;

}



.printx-preview-sheet {

    position: absolute;

    border-radius: 8px;

    background: #fff;

    box-shadow: 0 22px 44px rgba(0, 0, 0, .22);

}



.printx-sheet-cyan {

    left: 64px;

    top: 44px;

    width: 210px;

    height: 268px;

    background: linear-gradient(135deg, var(--printx-cyan) 0 45%, #fff 45%);

}



.printx-sheet-magenta {

    right: 70px;

    top: 56px;

    width: 185px;

    height: 245px;

    transform: rotate(4deg);

    background: linear-gradient(180deg, var(--printx-magenta) 0 22%, #fff 22% 72%, var(--printx-orange) 72%);

}



.printx-sheet-yellow {

    right: 105px;

    bottom: 58px;

    width: 250px;

    height: 96px;

    background: linear-gradient(90deg, var(--printx-green) 0 26%, #fff 26% 70%, var(--printx-yellow) 70%);

}



.printx-preview-product {

    position: absolute;

    left: 180px;

    top: 112px;

    width: 210px;

    height: 190px;

    transform: perspective(780px) rotateY(-18deg) rotateX(2deg);

}



.printx-preview-box-face {

    position: absolute;

    inset: 0;

    display: grid;

    align-content: space-between;

    padding: 18px;

    border-radius: 8px;

    background:

        linear-gradient(135deg, var(--printx-cyan) 0 34%, #fff 34% 72%, var(--printx-yellow) 72%),

        #fff;

    box-shadow: 0 26px 45px rgba(0, 0, 0, .28);

}



.printx-preview-box-side {

    position: absolute;

    right: -46px;

    top: 18px;

    width: 46px;

    height: 100%;

    border-radius: 0 8px 8px 0;

    background: linear-gradient(180deg, var(--printx-orange), var(--printx-magenta));

    transform: skewY(18deg);

    transform-origin: left top;

}



.printx-preview-box-face span {

    color: var(--printx-navy);

    font-size: 12px;

    font-weight: 900;

}



.printx-preview-box-face strong {

    color: var(--printx-navy);

    font-size: 28px;

    line-height: 1;

}



.printx-preview-spec {

    position: absolute;

    left: 54px;

    bottom: 44px;

    display: grid;

    gap: 5px;

    max-width: 285px;

    padding: 16px 18px;

    border-radius: 6px;

    color: #fff;

    background: rgba(255, 255, 255, .14);

    backdrop-filter: blur(8px);

}



.printx-preview-spec span {

    color: var(--printx-yellow);

    font-size: 12px;

    font-weight: 900;

    text-transform: uppercase;

}



.printx-preview-spec strong {

    color: #fff;

    font-size: 16px;

    line-height: 1.1;

}



.printx-preview-metrics {

    position: absolute;

    right: 48px;

    bottom: 46px;

    display: grid;

    gap: 8px;

}



.printx-preview-metrics span {

    display: flex;

    gap: 8px;

    align-items: center;

    padding: 9px 12px;

    border-radius: 6px;

    color: rgba(255, 255, 255, .78);

    background: rgba(255, 255, 255, .10);

    font-size: 13px;

    font-weight: 800;

}



.printx-preview-metrics strong {

    color: #fff;

}



.printx-hero-strip {

    position: relative;

    z-index: 2;

    display: grid;

    grid-template-columns: repeat(6, minmax(0, 1fr));

    margin-top: 34px;

    border: 1px solid var(--printx-line);

    border-bottom: 0;

    border-radius: 8px 8px 0 0;

    background: var(--printx-white);

}



.printx-hero-strip span {

    display: flex;

    align-items: center;

    justify-content: center;

    min-height: 64px;

    padding: 12px;

    border-right: 1px solid var(--printx-line);

    color: var(--printx-navy);

    font-weight: 900;

    text-align: center;

}



.printx-hero-strip span:last-child {

    border-right: 0;

}



.printx-categories,

.printx-shop-showcase,

.printx-testimonials,

.printx-blog-teasers {

    background: var(--printx-soft);

}



.printx-trust {

    padding: 24px 0;

    border-bottom: 1px solid var(--printx-line);

    background: var(--printx-white);

}



.printx-trust-inner {

    display: grid;

    grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);

    gap: 28px;

    align-items: center;

}



.printx-trust-inner > div {

    display: grid;

    gap: 4px;

}



.printx-trust-inner > div span,

.printx-voucher-inner span {

    color: var(--printx-orange);

    font-size: 12px;

    font-weight: 900;

    text-transform: uppercase;

}



.printx-trust-inner > div strong,

.printx-voucher-inner strong {

    color: var(--printx-navy);

    line-height: 1.15;

}



.printx-trust ul {

    display: grid;

    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 10px;

    margin: 0;

    padding: 0;

    list-style: none;

}



.printx-trust li {

    display: grid;

    gap: 4px;

    padding: 14px;

    border: 1px solid var(--printx-line);

    border-radius: 8px;

    background: var(--printx-soft);

}



.printx-trust li strong {

    color: var(--printx-navy);

    line-height: 1;

}



.printx-trust li strong .count-up {

    display: inline-block;

    color: inherit;

    font: inherit;

    line-height: inherit;

}



.printx-trust li span {

    color: var(--printx-muted);

    font-size: 12px;

    font-weight: 800;

}



.printx-category-grid {

    display: grid;

    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 16px;

}



.printx-category {

    position: relative;

    display: grid;

    min-height: 172px;

    padding: 22px;

    overflow: hidden;

    border: 1px solid var(--printx-line);

    border-radius: 8px;

    color: var(--printx-navy);

    background: var(--printx-white);

    transition: transform .2s ease, box-shadow .2s ease;

}



.printx-category:hover {

    color: var(--printx-navy);

    transform: translateY(-3px);

    box-shadow: 0 16px 34px rgba(16, 31, 73, .08);

}



.printx-category span {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 52px;

    height: 52px;

    margin-bottom: 18px;

    border-radius: 6px;

    background: var(--printx-cyan);

    color: #fff;

    font-size: 22px;

}



.printx-category strong {

    display: block;

    font-size: 21px;

    line-height: 1.15;

}



.printx-category em {

    margin-top: 7px;

    color: var(--printx-muted);

    font-size: 13px;

    font-style: normal;

    font-weight: 700;

}



.printx-category.printx-accent-orange > span,

.printx-service.printx-accent-orange::before {

    background: var(--printx-orange);

}



.printx-category.printx-accent-magenta > span,

.printx-service.printx-accent-magenta::before {

    background: var(--printx-magenta);

}



.printx-category.printx-accent-green > span,

.printx-service.printx-accent-green::before {

    background: var(--printx-green);

}



.printx-category.printx-accent-yellow > span,

.printx-service.printx-accent-yellow::before {

    background: var(--printx-yellow);

}



.printx-category.printx-accent-navy > span,

.printx-service.printx-accent-navy::before {

    background: var(--printx-navy);

}



.printx-industries {

    background: var(--printx-white);

}



.printx-industry-grid {

    display: grid;

    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 16px;

}



.printx-industry-grid a {

    position: relative;

    isolation: isolate;

    display: grid;

    grid-template-columns: 32px minmax(0, 1fr) 38px;

    align-items: center;

    gap: 10px;

    min-height: 64px;

    padding: 12px 14px;

    overflow: hidden;

    border: 1px solid rgba(27, 45, 99, .08);

    border-radius: 14px;

    color: var(--printx-navy);

    background: linear-gradient(135deg, #f8fbff, #eef7ff);

    font-weight: 900;

    box-shadow: 0 14px 28px rgba(16, 31, 73, .07);

    transition: transform .2s ease, box-shadow .2s ease;

}



.printx-industry-grid a::before {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 38px;

    height: 38px;

    grid-column: 3;

    border-radius: 14px;

    color: var(--printx-navy);

    background: rgba(255, 255, 255, .72);

    font-family: "Font Awesome 6 Free";

    font-size: 16px;

    font-weight: 900;

    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .78), 0 10px 22px rgba(16, 31, 73, .08);

    z-index: 1;

}



.printx-industry-grid a::after {

    content: "";

    position: absolute;

    right: -28px;

    top: -28px;

    width: 86px;

    height: 86px;

    border-radius: 999px;

    background: rgba(255, 255, 255, .42);

    z-index: -1;

}



.printx-industry-grid a:hover {

    color: var(--printx-navy);

    transform: translateY(-3px);

    box-shadow: 0 22px 42px rgba(16, 31, 73, .12);

}



.printx-industry-grid a:nth-child(1) {

    background: linear-gradient(135deg, #dffdec, #f7fffb);

}



.printx-industry-grid a:nth-child(1)::before {

    content: "\f2e7";

}



.printx-industry-grid a:nth-child(2) {

    background: linear-gradient(135deg, #ffe6f2, #fffafd);

}



.printx-industry-grid a:nth-child(2)::before {

    content: "\e05d";

}



.printx-industry-grid a:nth-child(3) {

    background: linear-gradient(135deg, #e4f0ff, #fbfdff);

}



.printx-industry-grid a:nth-child(3)::before {

    content: "\f46b";

}



.printx-industry-grid a:nth-child(4) {

    background: linear-gradient(135deg, #defade, #fbfffa);

}



.printx-industry-grid a:nth-child(4)::before {

    content: "\f4d8";

}



.printx-industry-grid a:nth-child(5) {

    background: linear-gradient(135deg, #efe3ff, #fffaff);

}



.printx-industry-grid a:nth-child(5)::before {

    content: "\f553";

}



.printx-industry-grid a:nth-child(6) {

    background: linear-gradient(135deg, #fff0b8, #fffdf3);

}



.printx-industry-grid a:nth-child(6)::before {

    content: "\f274";

}



.printx-industry-grid a:nth-child(7) {

    background: linear-gradient(135deg, #d9f8ff, #f8feff);

}



.printx-industry-grid a:nth-child(7)::before {

    content: "\f19d";

}



.printx-industry-grid a:nth-child(8) {

    background: linear-gradient(135deg, #e5eaff, #fbfcff);

}



.printx-industry-grid a:nth-child(8)::before {

    content: "\f0b1";

}



.printx-industry-grid span {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 30px;

    height: 30px;

    border-radius: 50%;

    color: #fff;

    background: var(--printx-navy);

    font-size: 12px;

    flex: 0 0 auto;

    box-shadow: 0 10px 20px rgba(27, 45, 99, .18);

    z-index: 1;

}



.printx-industry-grid strong {

    position: relative;

    z-index: 1;

    font-size: 15px;

    line-height: 1.2;

}



.printx-services,

.printx-process,

.printx-portfolio {

    background: var(--printx-white);

}



.printx-service-grid {

    display: grid;

    grid-template-columns: repeat(4, minmax(0, 1fr));

    border: 1px solid var(--printx-line);

    border-radius: 8px;

    overflow: hidden;

    background: var(--printx-white);

}



.printx-service {

    position: relative;

    display: grid;

    align-content: start;

    min-height: 286px;

    padding: 28px;

    border-right: 1px solid var(--printx-line);

}



.printx-service:last-child {

    border-right: 0;

}



.printx-service::before {

    content: "";

    position: absolute;

    left: 28px;

    top: 0;

    width: 58px;

    height: 5px;

    background: var(--printx-cyan);

}



.printx-service-meta {

    display: inline-flex;

    margin-bottom: 34px;

    color: var(--printx-muted);

    font-size: 12px;

    font-weight: 900;

    text-transform: uppercase;

}



.printx-service h3,

.printx-step-grid h3,

.printx-material-grid h3,

.printx-work h3 {

    margin: 0 0 12px;

    color: var(--printx-navy);

    font-size: 22px;

    line-height: 1.16;

}



.printx-service p,

.printx-step-grid p,

.printx-quote-copy p,

.printx-material-grid p,

.printx-work p,

.printx-testimonial-grid p,

.printx-faq-list p {

    margin: 0;

    color: var(--printx-muted);

    line-height: 1.68;

}



.printx-service a {

    align-self: end;

    margin-top: 22px;

    color: var(--printx-orange);

    font-weight: 900;

}



.printx-products-wrap {

    padding: 20px;

    border: 1px solid var(--printx-line);

    border-radius: 8px;

    background: var(--printx-white);

}



.printx-empty-state {

    margin: 0;

    padding: 22px;

    color: var(--printx-muted);

    text-align: center;

}



.printx-design-studio {

    background:

        linear-gradient(135deg, rgba(255, 255, 255, .94), rgba(255, 255, 255, .86)),

        linear-gradient(90deg, var(--printx-cyan), var(--printx-magenta), var(--printx-yellow), var(--printx-green), var(--printx-orange));

}



.printx-design-inner {

    display: grid;

    grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);

    gap: 38px;

    align-items: center;

}



.printx-design-copy p {

    margin: 0 0 18px;

    color: var(--printx-muted);

    line-height: 1.68;

}



.printx-design-copy ul {

    display: grid;

    gap: 9px;

    margin: 0 0 24px;

    padding: 0;

    list-style: none;

}



.printx-design-copy li {

    position: relative;

    padding-left: 24px;

    color: var(--printx-navy);

    font-weight: 800;

}



.printx-design-copy li::before {

    content: "";

    position: absolute;

    left: 0;

    top: .55em;

    width: 10px;

    height: 10px;

    border-radius: 50%;

    background: var(--printx-orange);

}



.printx-design-board {

    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 14px;

}



.printx-design-board div {

    min-height: 150px;

    padding: 22px;

    border: 1px solid var(--printx-line);

    border-radius: 8px;

    background: var(--printx-white);

    box-shadow: 0 16px 34px rgba(16, 31, 73, .08);

}



.printx-design-board strong {

    display: block;

    color: var(--printx-navy);

    font-size: 22px;

    line-height: 1.15;

}



.printx-design-board span {

    display: block;

    margin-top: 10px;

    color: var(--printx-muted);

    font-weight: 800;

}



.printx-materials {

    color: #fff;

    background:

        linear-gradient(135deg, rgba(16, 31, 73, .97), rgba(27, 45, 99, .96)),

        var(--printx-navy);

}



.printx-materials .printx-kicker,

.printx-materials h2,

.printx-materials-inner > div > p {

    color: #fff;

}



.printx-materials-inner {

    display: grid;

    grid-template-columns: .82fr 1.18fr;

    gap: 42px;

    align-items: start;

}



.printx-material-grid {

    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 14px;

}



.printx-material-grid article {

    min-height: 166px;

    padding: 22px;

    border: 1px solid rgba(255, 255, 255, .14);

    border-radius: 8px;

    background: rgba(255, 255, 255, .08);

}



.printx-material-grid h3 {

    color: #fff;

}



.printx-material-grid p {

    color: rgba(255, 255, 255, .74);

}



.printx-portfolio-tabs {

    display: flex;

    flex-wrap: wrap;

    gap: 8px;

    margin: -8px 0 18px;

}



.printx-portfolio-tabs button {

    min-height: 36px;

    padding: 0 14px;

    border: 1px solid var(--printx-line);

    border-radius: 999px;

    color: var(--printx-navy);

    background: var(--printx-white);

    font-size: 12px;

    font-weight: 900;

    text-transform: uppercase;

}



.printx-portfolio-tabs button.is-active {

    border-color: rgba(242, 90, 34, .22);

    color: var(--printx-orange);

    background: rgba(242, 90, 34, .08);

}



.printx-portfolio-carousel {

    position: relative;

}



.printx-portfolio .printx-portfolio-grid {

    display: grid;

    grid-auto-flow: column;

    grid-auto-columns: calc((100% - 36px) / 3);

    grid-template-columns: none;

    gap: 18px;

    overflow-x: auto;

    overflow-y: hidden;

    scroll-behavior: smooth;

    scroll-snap-type: x mandatory;

    scrollbar-width: none;

}



.printx-portfolio .printx-portfolio-grid::-webkit-scrollbar {

    display: none;

}



.printx-portfolio-nav {

    position: absolute;

    top: 44%;

    z-index: 4;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 38px;

    height: 38px;

    padding: 0;

    border: 1px solid var(--printx-line);

    border-radius: 999px;

    color: var(--printx-navy);

    background: rgba(255, 255, 255, .94);

    box-shadow: 0 12px 24px rgba(16, 31, 73, .12);

    transform: translateY(-50%);

}



.printx-portfolio-prev {

    left: -18px;

}



.printx-portfolio-next {

    right: -18px;

}



.printx-work {

    position: relative;

    display: grid;

    align-content: start;

    padding: 16px;

    border: 1px solid var(--printx-line);

    border-radius: 8px;

    background: var(--printx-white);

    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;

    scroll-snap-align: start;

}



.printx-work:hover {

    transform: translateY(-3px);

    border-color: rgba(8, 174, 234, .32);

    box-shadow: 0 18px 36px rgba(16, 31, 73, .09);

}



.printx-work-link {

    position: absolute;

    inset: 0;

    z-index: 3;

    border-radius: 8px;

}



.printx-work-art {

    position: relative;

    display: grid;

    align-items: end;

    min-height: 190px;

    overflow: hidden;

    margin-bottom: 18px;

    padding: 18px;

    border-radius: 6px;

    background:

        linear-gradient(135deg, rgba(8, 174, 234, .92) 0 28%, transparent 28%),

        linear-gradient(45deg, rgba(255, 194, 26, .88) 0 24%, transparent 24%),

        var(--printx-soft);

}



.printx-work-art.has-image {

    min-height: 0;

    aspect-ratio: 16 / 10;

    padding: 0;

    background: var(--printx-soft);

}



.printx-work-art img {

    width: 100%;

    height: 100%;

    object-fit: cover;

}



.printx-work-art span {

    position: absolute;

    left: 14px;

    bottom: 14px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-width: 46px;

    min-height: 36px;

    padding: 0 10px;

    border-radius: 8px;

    color: var(--printx-navy);

    background: rgba(255, 255, 255, .9);

    font-weight: 900;

    line-height: 1;

    box-shadow: 0 10px 20px rgba(16, 31, 73, .12);

}



.printx-work em {

    display: inline-flex;

    width: max-content;

    max-width: 100%;

    margin: 0 0 10px;

    padding: 5px 9px;

    border-radius: 999px;

    color: var(--printx-orange);

    background: rgba(242, 90, 34, .09);

    font-size: 11px;

    font-style: normal;

    font-weight: 900;

    line-height: 1;

    text-transform: uppercase;

}



.printx-work small {

    display: block;

    margin-top: 10px;

    color: var(--printx-muted);

    font-size: 13px;

    line-height: 1.55;

}



.printx-work strong {

    display: inline-flex;

    align-items: center;

    width: max-content;

    margin-top: 14px;

    color: var(--printx-orange);

    font-size: 13px;

    font-weight: 900;

}



.printx-work strong::after {

    content: "\f061";

    margin-left: 7px;

    font-family: "Font Awesome 6 Free";

    font-weight: 900;

    font-size: 11px;

}



.printx-work-open {

    position: relative;

    z-index: 4;

    display: inline-flex;

    align-items: center;

    width: max-content;

    margin-top: 14px;

    padding: 0;

    border: 0;

    color: var(--printx-orange);

    background: transparent;

    font-size: 13px;

    font-weight: 900;

}



.printx-work-open::after {

    content: "\f061";

    margin-left: 7px;

    font-family: "Font Awesome 6 Free";

    font-weight: 900;

    font-size: 11px;

}



.printx-work.is-hidden {

    display: none;

}



.printx-portfolio-modal {

    position: fixed;

    inset: 0;

    z-index: 9998;

    display: none;

    padding: 22px;

}



.printx-portfolio-modal.is-open {

    display: grid;

    place-items: center;

}



.printx-portfolio-modal-backdrop {

    position: absolute;

    inset: 0;

    background: rgba(16, 31, 73, .66);

}



.printx-portfolio-modal-panel {

    position: relative;

    z-index: 1;

    display: grid;

    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);

    gap: 18px;

    width: min(980px, 100%);

    max-height: 90vh;

    padding: 16px;

    border-radius: 10px;

    background: #fff;

    overflow: auto;

    box-shadow: 0 28px 80px rgba(16, 31, 73, .28);

}



.printx-portfolio-modal-close {

    position: absolute;

    top: 12px;

    right: 12px;

    z-index: 2;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 38px;

    height: 38px;

    padding: 0;

    border: 1px solid var(--printx-line);

    border-radius: 999px;

    color: var(--printx-navy);

    background: #fff;

}



.printx-portfolio-modal figure {

    display: grid;

    place-items: center;

    min-height: 420px;

    margin: 0;

    border-radius: 8px;

    background: var(--printx-soft);

    overflow: hidden;

}



.printx-portfolio-modal figure img {

    width: 100%;

    height: 100%;

    max-height: 70vh;

    object-fit: contain;

}



.printx-portfolio-modal figure iframe {

    width: 100%;

    aspect-ratio: 16 / 9;

    border: 0;

    border-radius: 8px;

}



.printx-portfolio-modal figure .is-hidden {

    display: none;

}



.printx-portfolio-modal-copy {

    display: grid;

    align-content: start;

    gap: 12px;

    padding: 36px 8px 8px;

}



.printx-portfolio-modal-copy span {

    display: inline-flex;

    width: max-content;

    padding: 5px 9px;

    border-radius: 999px;

    color: var(--printx-orange);

    background: rgba(242, 90, 34, .09);

    font-size: 11px;

    font-weight: 900;

    text-transform: uppercase;

}



.printx-portfolio-modal-copy h3 {

    margin: 0;

    color: var(--printx-navy);

    font-size: 28px;

    line-height: 1.12;

}



.printx-portfolio-modal-copy p {

    margin: 0;

    color: var(--printx-muted);

    font-weight: 800;

}



.printx-portfolio-thumbs {

    display: grid;

    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 8px;

    margin-top: 6px;

}



.printx-portfolio-thumbs button {

    padding: 0;

    border: 2px solid transparent;

    border-radius: 8px;

    background: var(--printx-soft);

    overflow: hidden;

}



.printx-portfolio-thumbs button.is-active {

    border-color: var(--printx-orange);

}



.printx-portfolio-thumbs img {

    width: 100%;

    aspect-ratio: 1;

    object-fit: cover;

}



.printx-portfolio-thumbs button.is-video {

    position: relative;

    display: grid;

    place-items: center;

    align-content: center;

    gap: 7px;

    min-height: 78px;

    color: #fff;

    background:

        linear-gradient(135deg, rgba(16, 31, 73, .94), rgba(27, 45, 99, .88)),

        var(--printx-navy);

    font-size: 12px;

    font-weight: 900;

    text-transform: uppercase;

    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08);

}



.printx-portfolio-thumbs button.is-video i {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 34px;

    height: 34px;

    border-radius: 999px;

    color: var(--printx-navy);

    background: #fff;

    font-size: 14px;

    box-shadow: 0 10px 20px rgba(0, 0, 0, .18);

}



.printx-portfolio-thumbs button.is-video span {

    color: rgba(255, 255, 255, .92);

    font-size: 11px;

    letter-spacing: 0;

}



.printx-portfolio-modal-copy a {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-height: 42px;

    margin-top: 6px;

    padding: 0 16px;

    border-radius: 8px;

    color: #fff;

    background: var(--printx-orange);

    font-weight: 900;

}



.printx-portfolio-modal-copy a.is-hidden {

    display: none;

}



.printx-portfolio-modal-copy .is-hidden {

    display: none;

}



.printx-portfolio-modal-open {

    overflow: hidden;

}



.printx-work-2 .printx-work-art {

    background:

        linear-gradient(180deg, var(--printx-magenta) 0 24%, transparent 24%),

        var(--printx-soft);

}



.printx-work-3 .printx-work-art {

    background:

        linear-gradient(90deg, var(--printx-green) 0 28%, transparent 28%),

        var(--printx-soft);

}



.printx-work-4 .printx-work-art {

    background:

        linear-gradient(135deg, var(--printx-orange) 0 35%, transparent 35%),

        var(--printx-soft);

}



.printx-work-5 .printx-work-art {

    background:

        linear-gradient(45deg, var(--printx-yellow) 0 32%, transparent 32%),

        var(--printx-soft);

}



.printx-step-grid {

    display: grid;

    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 0;

    border-top: 1px solid var(--printx-line);

}



.printx-step-grid > div {

    padding: 28px 24px 0 0;

    border-right: 1px solid var(--printx-line);

}



.printx-step-grid > div + div {

    padding-left: 24px;

}



.printx-step-grid > div:last-child {

    border-right: 0;

}



.printx-step-grid span {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 42px;

    height: 42px;

    margin-bottom: 18px;

    border-radius: 50%;

    color: #fff;

    background: var(--printx-navy);

    font-size: 13px;

    font-weight: 900;

}



.printx-process {

    background:

        linear-gradient(180deg, #fff 0%, #f7fbff 100%);

}



.printx-process .printx-section-head {

    max-width: 760px;

    margin-bottom: 24px;

}



.printx-process .printx-section-head h2 {

    max-width: 720px;

}



.printx-process .printx-step-grid {

    position: relative;

    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 16px;

    padding-top: 18px;

    border-top: 0;

}



.printx-process .printx-step-grid::before {

    content: "";

    position: absolute;

    left: 10%;

    right: 10%;

    top: 40px;

    height: 2px;

    background: linear-gradient(90deg, var(--printx-cyan), var(--printx-orange));

    opacity: .28;

}



.printx-process .printx-step-grid > div,

.printx-process .printx-step-grid > div + div {

    position: relative;

    min-height: 220px;

    padding: 24px;

    border: 1px solid var(--printx-line);

    border-radius: 8px;

    background: #fff;

    box-shadow: 0 16px 34px rgba(16, 31, 73, .06);

}



.printx-process .printx-step-grid > div {

    border-right: 1px solid var(--printx-line);

}



.printx-process .printx-step-grid > div:nth-child(n + 3) {

    border-top: 1px solid var(--printx-line);

}



.printx-process .printx-step-grid > div::after {

    content: "";

    position: absolute;

    inset: 0;

    border-radius: inherit;

    background: linear-gradient(135deg, rgba(8, 174, 234, .08), rgba(242, 90, 34, .06));

    opacity: 0;

    transition: opacity .2s ease;

    pointer-events: none;

}



.printx-process .printx-step-grid > div:hover::after {

    opacity: 1;

}



.printx-process .printx-step-grid span {

    position: relative;

    z-index: 1;

    width: 46px;

    height: 46px;

    margin-bottom: 22px;

    border: 4px solid #fff;

    color: #fff;

    background: var(--printx-navy);

    box-shadow: 0 12px 22px rgba(27, 45, 99, .2);

}



.printx-process .printx-step-grid h3,

.printx-process .printx-step-grid p {

    position: relative;

    z-index: 1;

}



.printx-process .printx-step-grid h3 {

    margin-bottom: 10px;

    font-size: 21px;

    line-height: 1.24;

}



.printx-process .printx-step-grid p {

    font-size: 15px;

    line-height: 1.7;

}



.printx-order-guide {

    color: #fff;

    background: var(--printx-navy-2);

}



.printx-guide-inner {

    display: grid;

    grid-template-columns: minmax(320px, .75fr) minmax(0, 1.25fr);

    gap: 28px;

    align-items: stretch;

}



.printx-guide-video {

    display: grid;

    align-content: end;

    min-height: 360px;

    padding: 28px;

    border-radius: 8px;

    background:

        linear-gradient(135deg, rgba(8, 174, 234, .18), rgba(242, 90, 34, .18)),

        var(--printx-navy);

}



.printx-guide-video span {

    color: var(--printx-yellow);

    font-size: 12px;

    font-weight: 900;

    text-transform: uppercase;

}



.printx-guide-video strong {

    margin-top: 10px;

    color: #fff;

    font-size: clamp(28px, 3vw, 42px);

    line-height: 1.08;

}



.printx-guide-steps {

    display: grid;

    gap: 12px;

}



.printx-guide-steps article {

    padding: 22px;

    border: 1px solid rgba(255, 255, 255, .14);

    border-radius: 8px;

    background: rgba(255, 255, 255, .08);

}



.printx-guide-steps span {

    color: var(--printx-yellow);

    font-weight: 900;

}



.printx-guide-steps h3 {

    margin: 8px 0;

    color: #fff;

    font-size: 22px;

}



.printx-guide-steps p {

    margin: 0;

    color: rgba(255, 255, 255, .72);

    line-height: 1.65;

}



.printx-testimonial-grid {

    display: grid;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 18px;

}



.printx-testimonial-grid blockquote {

    margin: 0;

    padding: 24px;

    border: 1px solid var(--printx-line);

    border-radius: 8px;

    background: var(--printx-white);

}



.printx-testimonial-grid cite {

    display: block;

    margin-top: 18px;

    color: var(--printx-navy);

    font-style: normal;

    font-weight: 900;

}



.printx-faq {

    background: var(--printx-white);

}



.printx-faq-inner {

    display: grid;

    grid-template-columns: .78fr 1.22fr;

    gap: 44px;

}



.printx-faq-list {

    display: grid;

    gap: 10px;

}



.printx-faq-list details {

    border: 1px solid var(--printx-line);

    border-radius: 8px;

    background: var(--printx-white);

}



.printx-faq-list summary {

    cursor: pointer;

    padding: 18px 20px;

    color: var(--printx-navy);

    font-weight: 900;

}



.printx-faq-list p {

    padding: 0 20px 20px;

}



.printx-blog-grid {

    display: grid;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 18px;

}



.printx-blog-grid article {

    min-height: 230px;

    padding: 24px;

    border: 1px solid var(--printx-line);

    border-radius: 8px;

    background: var(--printx-white);

}



.printx-blog-grid span {

    color: var(--printx-orange);

    font-size: 12px;

    font-weight: 900;

    text-transform: uppercase;

}



.printx-blog-grid h3 {

    margin: 28px 0 22px;

    color: var(--printx-navy);

    font-size: 23px;

    line-height: 1.18;

}



.printx-blog-grid a {

    color: var(--printx-orange);

    font-weight: 900;

}



.printx-voucher {

    padding: 42px 0;

    background:

        linear-gradient(135deg, rgba(255, 255, 255, .92), rgba(255, 255, 255, .72)),

        linear-gradient(90deg, var(--printx-yellow), var(--printx-orange));

}



.printx-voucher-inner {

    display: grid;

    grid-template-columns: minmax(0, 1fr) minmax(320px, 460px);

    gap: 24px;

    align-items: center;

    padding: 28px;

    border-radius: 10px;

    background: rgba(255, 255, 255, .82);

    box-shadow: 0 22px 42px rgba(16, 31, 73, .10);

}



.printx-voucher-form {

    display: grid;

    grid-template-columns: minmax(0, 1fr) auto;

    gap: 10px;

    margin: 0;

    padding: 8px;

    border: 1px solid var(--printx-line);

    border-radius: 8px;

    background: #fff;

}



.printx-voucher-form input {

    min-height: 46px;

    margin: 0;

    border: 0;

    border-radius: 6px;

    background: var(--printx-soft);

    font-weight: 700;

}



.printx-voucher-form .printx-button {

    margin: 0 !important;

    min-width: 132px;

    white-space: nowrap;

}



.printx-quote-band {

    background:

        linear-gradient(135deg, rgba(16, 31, 73, .96), rgba(27, 45, 99, .96)),

        var(--printx-navy);

}



.printx-quote-card {

    display: grid;

    grid-template-columns: .58fr 1.42fr;

    gap: 0;

    overflow: hidden;

    border-radius: 10px;

    background: var(--printx-white);

    box-shadow: 0 24px 70px rgba(0, 0, 0, .18);

}



.printx-quote-copy {

    display: grid;

    align-content: start;

    padding: 42px;

    color: #fff;

    background:

        radial-gradient(circle at 18% 20%, rgba(8, 174, 234, .24), transparent 28%),

        var(--printx-navy);

}



.printx-quote-copy .printx-kicker,

.printx-quote-copy h2,

.printx-quote-copy p {

    color: #fff;

}



.printx-quote-copy p {

    margin-top: 14px;

}



.printx-quote-form {

    padding: 36px;

    background: #fff;

}



.printx-form-grid {

    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 14px;

}



.printx-quote-form label {

    display: grid;

    gap: 7px;

    margin: 0 0 14px;

    color: var(--printx-navy);

    font-size: 13px;

    font-weight: 900;

    line-height: 1.3;

}



.printx-quote-form input,

.printx-quote-form textarea {

    width: 100%;

    min-height: 46px;

    margin: 0;

    border: 1px solid var(--printx-line);

    border-radius: 6px;

    background: var(--printx-soft);

    color: var(--printx-ink);

    font-size: 14px;

    font-weight: 500;

}



.printx-quote-form input[type="file"] {

    padding: 10px;

    background: #fff;

}



.printx-quote-form input:focus,

.printx-quote-form textarea:focus {

    border-color: var(--printx-cyan);

    box-shadow: 0 0 0 3px rgba(8, 174, 234, .14);

}



.printx-quote-form textarea {

    min-height: 110px;

    resize: vertical;

}



.printx-submit {

    width: 100%;

    margin: 4px 0 0 !important;

}



.printx-alert {

    margin-top: 18px;

    padding: 12px 14px;

    border-radius: 6px;

    font-weight: 800;

}



.printx-alert-success {

    color: #0f6b37;

    background: rgba(35, 170, 88, .12);

}



.printx-alert-error {

    color: #a3153f;

    background: rgba(237, 31, 114, .12);

}



.printx-floating-contact {

    position: fixed;

    right: 16px;

    bottom: 18px;

    z-index: 4000;

    display: grid;

    grid-template-columns: 52px;

    gap: 9px;

    justify-items: center;

    align-items: center;

}



.printx-floating-contact.has-zalo-oa {

    bottom: 92px;

}



.printx-floating-contact a,

.printx-floating-contact button {

    position: relative;

    display: inline-flex;

    flex: 0 0 48px;

    align-items: center;

    justify-content: center;

    box-sizing: border-box;

    min-width: 48px;

    width: 48px;

    height: 48px;

    margin: 0 !important;

    padding: 0;

    border: 0;

    appearance: none;

    border-radius: 14px;

    color: #fff;

    background-image: none;

    font-size: 18px;

    font-weight: 900;

    line-height: 1;

    text-decoration: none;

    box-shadow: 0 14px 28px rgba(23, 32, 51, .18);

    transition: transform .18s ease, box-shadow .18s ease;

}



.printx-floating-contact a:hover,

.printx-floating-contact button:hover {

    color: #fff;

    transform: translateY(-2px);

    box-shadow: 0 18px 34px rgba(23, 32, 51, .24);

}



.printx-floating-contact span {

    position: absolute;

    right: calc(100% + 8px);

    top: 50%;

    min-width: max-content;

    padding: 8px 10px;

    border-radius: 8px;

    color: var(--printx-navy);

    background: #fff;

    font-size: 12px;

    box-shadow: 0 12px 26px rgba(16, 31, 73, .16);

    opacity: 0;

    pointer-events: none;

    transform: translate(6px, -50%);

    transition: opacity .18s ease, transform .18s ease;

}



.printx-floating-contact .printx-phone-label {

    display: grid;

    gap: 2px;

    padding: 8px 11px;

    text-align: left;

}



.printx-floating-contact .printx-phone-label strong {

    color: var(--printx-navy);

    font-size: 13px;

    line-height: 1.1;

}



.printx-floating-contact .printx-phone-label small {

    color: var(--printx-muted);

    font-size: 11px;

    font-weight: 800;

    line-height: 1.1;

}



.printx-floating-contact a:hover span,

.printx-floating-contact a:focus-visible span {

    opacity: 1;

    transform: translate(0, -50%);

}



.printx-floating-contact.show-phone-label .printx-float-phone span {

    opacity: 1;

    transform: translate(0, -50%);

}



.zalo-chat-widget {

    right: 10px !important;

    bottom: 18px !important;

    z-index: 3900 !important;

}



.zalo-chat-widget iframe {

    margin: 0 !important;

}



.printx-float-zalo-oa::after {

    content: "";

    position: absolute;

    right: -3px;

    top: -3px;

    width: 11px;

    height: 11px;

    border: 2px solid #fff;

    border-radius: 999px;

    background: #ff2b45;

    box-shadow: 0 0 0 0 rgba(255, 43, 69, .55);

    animation: printx-zalo-pulse 1.35s ease-out infinite;

    pointer-events: none;

}



.printx-zalo-pulse {

    position: fixed;

    right: 12px;

    bottom: 62px;

    z-index: 4001;

    width: 11px;

    height: 11px;

    border: 2px solid #fff;

    border-radius: 999px;

    background: #ff2b45;

    box-shadow: 0 0 0 0 rgba(255, 43, 69, .55);

    animation: printx-zalo-pulse 1.35s ease-out infinite;

    pointer-events: none;

}



@keyframes printx-zalo-pulse {

    0% {

        box-shadow: 0 0 0 0 rgba(255, 43, 69, .55);

    }

    70% {

        box-shadow: 0 0 0 9px rgba(255, 43, 69, 0);

    }

    100% {

        box-shadow: 0 0 0 0 rgba(255, 43, 69, 0);

    }

}



.printx-float-quote {

    background: var(--printx-magenta);

}



.printx-float-shop {

    background: var(--printx-navy);

}



.printx-float-affiliate {

    color: var(--printx-navy) !important;

    background: var(--printx-yellow);

}



.printx-float-phone {

    background: var(--printx-orange);

}



.printx-float-menu {

    display: none !important;

    cursor: pointer;

    background: var(--printx-navy);

}



.printx-float-zalo {

    background: var(--printx-cyan);

}



.printx-float-chat {

    background: var(--printx-navy);

}



.printx-float-top {

    cursor: pointer;

    background: var(--printx-green);

}



.printx-mobile-catalog {

    position: fixed;

    inset: 0;

    z-index: 5000;

    opacity: 0;

    pointer-events: none;

    transition: opacity .2s ease;

}



.printx-mobile-catalog.is-open {

    opacity: 1;

    pointer-events: auto;

}



.printx-catalog-open {

    overflow: hidden;

}



.printx-mobile-catalog-backdrop {

    position: absolute;

    inset: 0;

    background: rgba(16, 31, 73, .48);

}



.printx-mobile-catalog-panel {

    position: absolute;

    right: 0;

    top: 0;

    bottom: 0;

    display: grid;

    grid-template-rows: auto auto 1fr;

    width: min(420px, 100vw);

    overflow: hidden;

    background: #fff;

    box-shadow: -24px 0 48px rgba(16, 31, 73, .22);

    transform: translateX(100%);

    transition: transform .22s ease;

}



.printx-mobile-catalog.is-open .printx-mobile-catalog-panel {

    transform: translateX(0);

}



.printx-mobile-catalog-head {

    display: flex;

    align-items: center;

    gap: 10px;

    justify-content: space-between;

    min-height: 58px;

    padding: 12px 14px;

    border-bottom: 1px solid var(--printx-line);

    color: var(--printx-navy);

}



.printx-mobile-catalog-modes {

    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    flex: 1;

    min-height: 40px;

    overflow: hidden;

    border-radius: 0;

    background: #fff;

}



.printx-mobile-catalog-modes button {

    position: relative;

    border: 0;

    color: var(--printx-muted);

    background: transparent;

    font-size: 12px;

    font-weight: 900;

    text-transform: uppercase;

}



.printx-mobile-catalog-modes button.is-active {

    color: var(--printx-navy);

}



.printx-mobile-catalog-modes button.is-active::after {

    content: "";

    position: absolute;

    left: 0;

    right: 0;

    bottom: 0;

    height: 2px;

    background: var(--printx-cyan);

}



.printx-mobile-catalog-head > button {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 38px;

    height: 38px;

    min-width: 38px;

    min-height: 38px;

    padding: 0;

    border: 1px solid var(--printx-line);

    border-radius: 10px;

    color: var(--printx-navy);

    background: var(--printx-soft);

    font-size: 16px;

    line-height: 1;

}



.printx-mobile-catalog-search {

    position: relative;

    display: grid;

    grid-template-columns: minmax(0, 1fr) 40px;

    gap: 8px;

    margin: 0;

    padding: 10px 14px;

    border-bottom: 1px solid var(--printx-line);

    background: #fff;

}



.printx-mobile-catalog-search input[type="search"] {

    min-height: 42px;

    margin: 0;

    padding: 0 40px 0 14px;

    border: 1px solid var(--printx-line);

    border-radius: 10px;

    color: var(--printx-navy);

    background: var(--printx-soft);

    font-size: 14px;

    font-weight: 800;

}



.printx-mobile-catalog-search .printx-search-submit {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 40px;

    min-width: 40px;

    height: 42px;

    min-height: 42px;

    padding: 0;

    border: 0;

    border-radius: 10px;

    color: #fff;

    background: var(--printx-orange);

    font-size: 17px;

    line-height: 1;

}



.printx-mobile-catalog-search .printx-search-clear {

    display: none;

    position: absolute;

    right: 64px;

    top: 50%;

    width: 30px;

    min-height: 30px;

    padding: 0;

    border: 0;

    color: var(--printx-muted);

    background: transparent;

    transform: translateY(-50%);

}



.printx-mobile-catalog-search.has-value .printx-search-clear {

    display: inline-flex;

    align-items: center;

    justify-content: center;

}



.printx-mobile-catalog-search .printx-live-search-results {

    left: 14px;

    right: 14px;

    top: calc(100% - 4px);

    z-index: 3;

    max-height: 56vh;

    overflow-y: auto;

}



.printx-mobile-catalog-body {

    display: grid;

    grid-template-columns: 96px minmax(0, 1fr);

    min-height: 0;

    overflow: hidden;

}



.printx-mobile-catalog-body,

.printx-mobile-menu-panel {

    display: none;

}



.printx-mobile-catalog-body.is-active {

    display: grid;

}



.printx-mobile-menu-panel.is-active {

    display: block;

    min-height: 0;

    padding: 14px;

    overflow-y: auto;

}



.printx-mobile-catalog-tabs {

    display: grid;

    align-content: start;

    gap: 6px;

    width: 96px;

    min-width: 96px;

    max-width: 96px;

    min-height: 0;

    padding: 10px 8px;

    overflow-x: hidden;

    overflow-y: auto;

    background: #f7f9fc;

}



.printx-mobile-catalog-tabs button {

    position: relative;

    display: grid;

    gap: 4px;

    min-height: 84px;

    padding: 7px 5px;

    border: 1px solid transparent;

    border-radius: 10px;

    color: var(--printx-navy);

    background: #fff;

    font-size: 11px;

    font-weight: 900;

    line-height: 1.15;

    text-align: center;

    box-sizing: border-box;

    width: 100%;

}



.printx-mobile-catalog-tabs button.is-active {

    border-color: rgba(242, 90, 34, .28);

    background: #fff7f2;

    box-shadow: 0 10px 20px rgba(16, 31, 73, .08);

}



.printx-mobile-catalog-tabs button:nth-child(6n + 1) {

    background: #d9f6fb;

}



.printx-mobile-catalog-tabs button:nth-child(6n + 2) {

    background: #e1f7d6;

}



.printx-mobile-catalog-tabs button:nth-child(6n + 3) {

    background: #e5eef9;

}



.printx-mobile-catalog-tabs button:nth-child(6n + 4) {

    background: #d8f2f7;

}



.printx-mobile-catalog-tabs button:nth-child(6n + 5) {

    background: #fff7d8;

}



.printx-mobile-catalog-tabs button:nth-child(6n) {

    background: #dbeafe;

}



.printx-mobile-catalog-tabs button.is-active::after {

    content: "";

    position: absolute;

    left: auto;

    right: -8px;

    top: 50%;

    bottom: auto;

    width: 0;

    height: 0;

    border-top: 7px solid transparent;

    border-bottom: 7px solid transparent;

    border-left: 8px solid var(--printx-orange);

    transform: translateY(-50%);

}



.printx-mobile-catalog-tabs img {

    width: 44px;

    height: 44px;

    margin: 0 auto;

    border-radius: 10px;

    object-fit: cover;

}



.printx-mobile-catalog-content {

    min-height: 0;

    padding: 14px;

    overflow-y: auto;

}



.printx-mobile-catalog-content section {

    display: none;

}



.printx-mobile-catalog-content section.is-active {

    display: block;

}



.printx-mobile-catalog-content h3 {

    margin: 0 0 12px;

    color: var(--printx-navy);

    font-size: 20px;

    line-height: 1.2;

}



.printx-mobile-catalog-content section > div {

    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 8px;

}



.printx-mobile-catalog-content section > div a {

    min-height: 54px;

    padding: 10px;

    border: 1px solid var(--printx-line);

    border-radius: 10px;

    color: var(--printx-navy);

    background: var(--printx-soft);

    font-size: 13px;

    font-weight: 900;

    line-height: 1.25;

}



.printx-mobile-product-card {

    display: grid;

    align-content: start;

    gap: 6px;

    min-height: 0 !important;

    padding: 0 !important;

    border: 0 !important;

    background: transparent !important;

    box-shadow: none !important;

}



.printx-mobile-product-card img {

    width: 100%;

    aspect-ratio: 1 / .72;

    max-height: 118px;

    border-radius: 8px;

    object-fit: contain;

    background: #f3f6fb;

}



.printx-mobile-product-card strong {

    color: #0759a3;

    font-size: 14px;

    line-height: 1.18;

}



.printx-mobile-product-card em {

    color: var(--printx-muted);

    font-size: 12px;

    font-style: normal;

    font-weight: 700;

}



.printx-mobile-product-card .amount {

    color: var(--printx-orange);

    font-weight: 900;

}



.printx-mobile-menu-list,

.printx-mobile-menu-list ul,

.printx-mobile-menu-panel .printx-menu,

.printx-mobile-menu-panel .printx-menu ul {

    display: grid;

    gap: 8px;

    margin: 0;

    padding: 0;

    list-style: none;

}



.printx-mobile-menu-list a,

.printx-mobile-menu-panel .printx-menu a {

    display: flex;

    align-items: center;

    min-height: 46px;

    padding: 10px 12px;

    border: 1px solid var(--printx-line);

    border-radius: 10px;

    color: var(--printx-navy);

    background: var(--printx-soft);

    font-weight: 900;

}



.printx-mobile-menu-list ul,

.printx-mobile-menu-panel .printx-menu ul {

    margin: 6px 0 0 12px;

}



.printx-mobile-catalog-cta {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 100%;

    min-height: 44px;

    margin-top: 14px;

    border-radius: 10px;

    color: #fff !important;

    background: var(--printx-orange);

    font-weight: 900;

}



.printx-brand .product-small .box {

    border: 1px solid var(--printx-line);

    border-radius: 10px;

    overflow: hidden;

    background: var(--printx-white);

    transition: transform .2s ease, box-shadow .2s ease;

}



.printx-brand .product-small .box:hover {

    transform: translateY(-3px);

    box-shadow: 0 16px 34px rgba(16, 31, 73, .08);

}



.printx-brand .product-small .box-text {

    padding: 16px 17px 18px;

    text-align: left;

}



.printx-brand .product-small .box-image {

    background:

        linear-gradient(135deg, rgba(8, 174, 234, .08), rgba(255, 194, 26, .12)),

        var(--printx-soft);

}



.printx-brand .product-small .box-image img {

    aspect-ratio: 1 / 1;

    object-fit: cover;

}



.printx-brand .product-small img[src*="woocommerce-placeholder"],

.printx-brand .product-gallery img[src*="woocommerce-placeholder"] {

    opacity: .28;

    filter: grayscale(1);

}



.printx-brand .product-small .product-title a,

.printx-brand .woocommerce-loop-product__title {

    color: var(--printx-navy);

    font-weight: 900;

}



.printx-brand .product-small .product-title {

    font-size: 16px;

    line-height: 1.35;

}



.printx-brand .price,

.printx-brand .amount {

    color: var(--printx-orange);

    font-weight: 900;

}



.printx-brand .add-to-cart-button a,

.printx-brand .single_add_to_cart_button {

    border-radius: 6px !important;

    background: var(--printx-orange) !important;

}



.printx-product-note {

    display: grid;

    gap: 14px;

    padding: 22px;

    margin: 18px 0;

    border: 1px solid var(--printx-line);

    border-left: 5px solid var(--printx-orange);

    border-radius: 10px;

    background: var(--printx-soft);

}



.printx-product-note-kicker {

    color: var(--printx-orange);

    font-size: 12px;

    font-weight: 900;

    text-transform: uppercase;

}



.printx-woo-content .product-info {

    padding: 4px 0;

}



.printx-woo-content .product-info h1 {

    font-size: clamp(28px, 3vw, 42px);

    line-height: 1.18;

}



.printx-woo-content form.cart {

    padding: 16px;

    border: 1px solid var(--printx-line);

    border-radius: 8px;

    background: var(--printx-soft);

}



.printx-product-note strong {

    display: block;

    margin: 0;

    color: var(--printx-navy);

    font-size: 19px;

    line-height: 1.25;

}



.printx-product-note p {

    margin: 0;

    color: var(--printx-muted);

}



.printx-product-summary-list {

    display: grid;

    gap: 0;

    margin: 2px 0;

    border-top: 1px solid rgba(27, 45, 99, .12);

}



.printx-product-summary-list div {

    display: grid;

    grid-template-columns: minmax(116px, .44fr) minmax(0, 1fr);

    gap: 12px;

    padding: 10px 0;

    border-bottom: 1px dashed rgba(27, 45, 99, .16);

}



.printx-product-summary-list dt {

    color: var(--printx-navy);

    font-size: 13px;

    font-weight: 900;

}



.printx-product-summary-list dd {

    margin: 0;

    color: var(--printx-navy);

    font-weight: 800;

    line-height: 1.45;

}



.printx-product-service-choice {

    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 10px;

    padding-top: 2px;

}



.printx-product-service-choice label {

    display: flex;

    align-items: center;

    gap: 8px;

    min-height: 42px;

    margin: 0;

    padding: 9px 12px;

    border: 1px solid var(--printx-line);

    border-radius: 8px;

    background: #fff;

    color: var(--printx-navy);

    font-size: 13px;

    font-weight: 900;

}



.printx-product-service-choice input {

    margin: 0;

}



.printx-product-actions {

    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 10px;

}



.printx-product-actions .button {

    display: inline-flex !important;

    align-items: center;

    justify-content: center;

    min-height: 44px;

    margin: 0 !important;

    border-radius: 7px !important;

    font-size: 14px;

    font-weight: 900;

}



.printx-product-zalo {

    color: var(--printx-navy) !important;

    background: var(--printx-yellow) !important;

}



.printx-product-depth {

    display: grid;

    gap: 22px;

    margin-top: 28px;

}



.printx-product-depth-grid {

    display: grid;

    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);

    gap: 22px;

}



.printx-product-panel,

.printx-product-benefits article,

.printx-product-process,

.printx-product-faq {

    border: 1px solid var(--printx-line);

    border-radius: 12px;

    background: #fff;

    box-shadow: 0 16px 34px rgba(16, 31, 73, .06);

}



.printx-product-panel,

.printx-product-process,

.printx-product-faq {

    padding: 26px;

}



.printx-product-panel h2,

.printx-product-process h2,

.printx-product-faq h2 {

    margin: 8px 0 16px;

    color: var(--printx-navy);

    font-size: clamp(24px, 2.4vw, 34px);

    line-height: 1.2;

}



.printx-product-specs ul {

    display: grid;

    gap: 12px;

    margin: 0;

    padding: 0;

    list-style: none;

}



.printx-product-specs li {

    position: relative;

    padding-left: 28px;

    color: var(--printx-muted);

    line-height: 1.65;

}



.printx-product-specs li::before {

    content: "\f00c";

    position: absolute;

    left: 0;

    top: 2px;

    color: var(--printx-green);

    font-family: "Font Awesome 6 Free";

    font-weight: 900;

}



.printx-product-cta {

    align-self: start;

    border-left: 5px solid var(--printx-orange);

    background: var(--printx-soft);

}



.printx-product-cta > span {

    display: block;

    margin-bottom: 8px;

    color: var(--printx-orange);

    font-size: 12px;

    font-weight: 900;

    text-transform: uppercase;

}



.printx-product-cta strong {

    display: block;

    margin-bottom: 18px;

    color: var(--printx-navy);

    font-size: 20px;

    font-weight: 900;

    line-height: 1.35;

}



.printx-product-benefits {

    display: grid;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 18px;

}



.printx-product-benefits article {

    padding: 22px;

}



.printx-product-benefits i {

    display: inline-grid;

    place-items: center;

    width: 44px;

    height: 44px;

    margin-bottom: 14px;

    border-radius: 10px;

    color: #fff;

    background: var(--printx-cyan);

}



.printx-product-benefits article:nth-child(2) i {

    background: var(--printx-orange);

}



.printx-product-benefits article:nth-child(3) i {

    background: var(--printx-green);

}



.printx-product-benefits h3,

.printx-product-process strong {

    color: var(--printx-navy);

}



.printx-product-benefits p {

    margin: 8px 0 0;

    color: var(--printx-muted);

    line-height: 1.6;

}



.printx-product-process {

    display: grid;

    grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);

    gap: 24px;

    align-items: start;

}



.printx-product-process ol {

    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 14px;

    margin: 0;

    padding: 0;

    list-style: none;

}



.printx-product-process li {

    display: grid;

    gap: 6px;

    padding: 16px;

    border: 1px solid var(--printx-line);

    border-radius: 10px;

    background: var(--printx-soft);

}



.printx-product-process li span {

    color: var(--printx-orange);

    font-weight: 900;

}



.printx-product-process em {

    color: var(--printx-muted);

    font-style: normal;

    line-height: 1.55;

}



.printx-product-faq > div {

    display: grid;

    gap: 10px;

}



.printx-product-faq details {

    border: 1px solid var(--printx-line);

    border-radius: 10px;

    background: var(--printx-soft);

}



.printx-product-faq summary {

    cursor: pointer;

    padding: 16px 18px;

    color: var(--printx-navy);

    font-weight: 900;

}



.printx-product-faq p {

    margin: 0;

    padding: 0 18px 18px;

    color: var(--printx-muted);

    line-height: 1.65;

}



.printx-product-related-posts {

    padding: 26px;

    border: 1px solid var(--printx-line);

    border-radius: 12px;

    background: #fff;

    box-shadow: 0 16px 34px rgba(16, 31, 73, .06);

}



.printx-product-related-posts .printx-section-head {

    margin-bottom: 18px;

}



.printx-product-related-posts .printx-section-head a {

    color: var(--printx-navy);

    font-weight: 900;

}



.printx-product-related-grid {

    display: grid;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 18px;

}



.printx-product-related-grid article {

    overflow: hidden;

    border: 1px solid var(--printx-line);

    border-radius: 10px;

    background: var(--printx-soft);

}



.printx-product-related-thumb {

    display: grid;

    place-items: center;

    min-height: 156px;

    color: var(--printx-navy);

    background: linear-gradient(135deg, rgba(8, 174, 234, .14), rgba(255, 194, 26, .16));

    font-weight: 900;

}



.printx-product-related-thumb img {

    width: 100%;

    height: 100%;

    min-height: 156px;

    object-fit: cover;

}



.printx-product-related-grid article > div {

    padding: 16px;

}



.printx-product-related-grid article > div > span {

    color: var(--printx-orange);

    font-size: 12px;

    font-weight: 900;

}



.printx-product-related-grid h3 {

    margin: 6px 0 8px;

    font-size: 18px;

    line-height: 1.3;

}



.printx-product-related-grid h3 a {

    color: var(--printx-navy);

}



.printx-product-related-grid p {

    margin: 0;

    color: var(--printx-muted);

    line-height: 1.55;

}



.printx-shop-intro {

    display: grid;

    gap: 6px;

    margin: 0 0 22px;

    padding: 20px;

    border: 1px solid var(--printx-line);

    border-left: 5px solid var(--printx-cyan);

    border-radius: 8px;

    background: var(--printx-soft);

}



.printx-shop-intro span {

    color: var(--printx-orange);

    font-size: 12px;

    font-weight: 900;

    text-transform: uppercase;

}



.printx-shop-intro strong {

    color: var(--printx-navy);

    font-size: 22px;

    line-height: 1.2;

}



.printx-shop-intro p {

    max-width: 760px;

    margin: 0;

    color: var(--printx-muted);

    line-height: 1.6;

}



.printx-post-grid {

    display: grid;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 22px;

    padding: 54px 0 76px;

}



.printx-post-card {

    overflow: hidden;

    border: 1px solid var(--printx-line);

    border-radius: 10px;

    background: var(--printx-white);

    box-shadow: 0 16px 34px rgba(16, 31, 73, .06);

    transition: transform .2s ease, box-shadow .2s ease;

}



.printx-post-card:hover {

    transform: translateY(-3px);

    box-shadow: 0 22px 44px rgba(16, 31, 73, .10);

}



.printx-post-thumb {

    display: grid;

    place-items: center;

    min-height: 210px;

    overflow: hidden;

    color: var(--printx-navy);

    background:

        linear-gradient(135deg, rgba(8, 174, 234, .18), rgba(255, 194, 26, .18)),

        var(--printx-soft);

    font-size: 32px;

    font-weight: 900;

}



.printx-post-thumb img {

    width: 100%;

    height: 100%;

    object-fit: cover;

}



.printx-post-card > div {

    padding: 22px;

}



.printx-post-meta {

    color: var(--printx-orange);

    font-size: 12px;

    font-weight: 900;

    text-transform: uppercase;

}



.printx-post-card h2 {

    margin: 10px 0;

    font-size: 22px;

    line-height: 1.25;

}



.printx-post-card h2 a {

    color: var(--printx-navy);

}



.printx-post-card p {

    margin: 0 0 18px;

    color: var(--printx-muted);

    line-height: 1.65;

}



.printx-read-more {

    color: var(--printx-orange);

    font-weight: 900;

}



.printx-pagination {

    grid-column: 1 / -1;

}



.printx-search-page-form {

    display: grid;

    grid-template-columns: minmax(0, 1fr) auto;

    gap: 8px;

    max-width: 680px;

    margin: 24px 0 0;

    padding: 8px;

    border: 1px solid var(--printx-line);

    border-radius: 8px;

    background: #fff;

}



.printx-search-page-form input {

    min-height: 46px;

    margin: 0;

    border: 0;

    border-radius: 6px;

    background: var(--printx-soft);

    font-weight: 800;

}



.printx-search-page-form button {

    min-height: 46px;

    padding: 0 18px;

    border: 0;

    border-radius: 6px;

    color: #fff;

    background: var(--printx-orange);

    font-weight: 900;

}



.printx-search-products {

    padding: 46px 0 76px;

}



.printx-search-products .products {

    margin-bottom: 0;

}



.printx-search-empty {

    max-width: 680px;

    margin: 52px auto 76px;

    padding: 34px;

    border: 1px solid var(--printx-line);

    border-radius: 10px;

    background: var(--printx-white);

    text-align: center;

}



.printx-search-empty h2 {

    margin: 0 0 10px;

    color: var(--printx-navy);

}



.printx-search-empty p {

    color: var(--printx-muted);

}



.printx-single-thumb {

    margin-top: 42px;

}



.printx-single-thumb img {

    width: 100%;

    max-height: 520px;

    object-fit: cover;

    border-radius: 8px;

}



.printx-woo-content {

    padding: 46px 0 76px;

}



.printx-woo-content .woocommerce-breadcrumb {

    color: var(--printx-muted);

}



.printx-woo-content .woocommerce-result-count,

.printx-woo-content .woocommerce-ordering {

    margin-bottom: 22px;

}



.printx-woo-content .category-page-row,

.printx-woo-content .row {

    max-width: none;

}



.printx-woo-content .shop-container {

    padding-top: 0;

}



.printx-woo-content .product-main {

    padding: 0;

}



.printx-woo-content .product-main > .row {

    padding: 32px;

    border: 1px solid var(--printx-line);

    border-radius: 14px;

    background: #fff;

    box-shadow: 0 18px 38px rgba(16, 31, 73, .06);

}



.printx-woo-content .product-main > .row.content-row.mb-0 {

    display: grid;

    grid-template-columns: minmax(420px, 1.22fr) minmax(390px, .78fr);

    align-items: start;

    gap: 32px;

    margin-bottom: 0 !important;

}



.printx-woo-content .product-main > .row.content-row.mb-0::before,

.printx-woo-content .product-main > .row.content-row.mb-0::after {

    display: none;

}



.printx-woo-content .product-main > .row.content-row.mb-0 > .product-gallery,

.printx-woo-content .product-main > .row.content-row.mb-0 > .product-info {

    width: auto !important;

    max-width: none !important;

    flex-basis: auto !important;

}



.printx-woo-content .product-info h1,

.printx-woo-content .product-title {

    color: var(--printx-navy);

    font-weight: 900;

    letter-spacing: 0;

}



.printx-woo-content .product-gallery,

.printx-woo-content .product-info {

    background: var(--printx-white);

}



.printx-woo-content .product-gallery {

    border: 1px solid var(--printx-line);

    border-radius: 12px;

    overflow: hidden;

    background:

        linear-gradient(135deg, rgba(8, 174, 234, .06), rgba(255, 194, 26, .10)),

        var(--printx-soft);

}



.printx-woo-content .product-gallery .flickity-viewport,

.printx-woo-content .product-gallery .woocommerce-product-gallery__image {

    border-radius: 12px;

}



.printx-woo-content .product-info {

    padding-left: 0;

}



.printx-woo-content .product-info .price {

    display: inline-flex;

    align-items: center;

    min-height: 46px;

    margin: 12px 0 18px;

    padding: 0 16px;

    border-radius: 8px;

    background: rgba(242, 90, 34, .10);

    font-size: 28px;

}



.printx-woo-content .cart {

    display: flex;

    flex-wrap: wrap;

    gap: 12px;

    align-items: center;

}



.printx-woo-content .quantity input {

    min-height: 44px;

    border-radius: 6px;

    border-color: var(--printx-line);

}



.printx-woo-content .product_meta {

    margin-top: 18px;

    padding-top: 18px;

    border-top: 1px solid var(--printx-line);

    color: var(--printx-muted);

}



.printx-woo-content .social-icons {

    margin-top: 16px;

}



.printx-woo-content .woocommerce-tabs {

    margin-top: 34px;

    padding: 24px;

    border: 1px solid var(--printx-line);

    border-radius: 12px;

    background: #fff;

}



.printx-woo-content .woocommerce-tabs .tabs {

    border-bottom: 1px solid var(--printx-line);

}



.printx-woo-content .woocommerce-tabs .tabs a {

    color: var(--printx-navy);

    font-weight: 900;

}



.printx-site-footer {

    color: rgba(255, 255, 255, .76);

    background: var(--printx-navy-2);

}



.printx-footer-cta {

    display: grid;

    grid-template-columns: minmax(0, 1fr) auto;

    gap: 22px;

    align-items: center;

    padding: 34px 0;

    border-bottom: 1px solid rgba(255, 255, 255, .12);

}



.printx-footer-cta span {

    color: var(--printx-yellow);

    font-size: 12px;

    font-weight: 900;

    text-transform: uppercase;

}



.printx-footer-cta strong {

    display: block;

    max-width: 760px;

    margin-top: 8px;

    color: #fff;

    font-size: clamp(26px, 3vw, 40px);

    line-height: 1.1;

}



.printx-footer-grid {

    display: grid;

    grid-template-columns: 1.2fr .75fr .75fr;

    gap: 34px;

    padding: 46px 0;

}



.printx-footer-logo {

    width: 190px;

    height: auto;

    padding: 10px;

    border-radius: 8px;

    background: #fff;

}



.printx-footer-grid p {

    max-width: 420px;

    margin: 18px 0 0;

    line-height: 1.65;

}



.printx-footer-grid h3 {

    margin: 0 0 16px;

    color: #fff;

    font-size: 18px;

}



.printx-footer-grid a,

.printx-footer-grid span {

    display: block;

    margin-bottom: 10px;

    color: rgba(255, 255, 255, .76);

}



.printx-footer-grid a:hover {

    color: #fff;

}



.printx-footer-bottom {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 18px;

    padding: 18px 0;

    border-top: 1px solid rgba(255, 255, 255, .12);

    font-size: 13px;

}



.printx-footer-menu {

    display: flex;

    gap: 14px;

    margin: 0;

    padding: 0;

    list-style: none;

}



.printx-footer-menu a {

    color: rgba(255, 255, 255, .76);

}



.printx-loop-badge {

    display: inline-flex;

    margin-top: 8px;

    padding: 5px 9px;

    border-radius: 4px;

    color: var(--printx-navy);

    background: rgba(255, 194, 26, .24);

    font-size: 12px;

    font-weight: 800;

}



@media (max-width: 1020px) {

    .printx-topbar-inner {

        justify-content: center;

        text-align: center;

    }



    .printx-topbar-inner div {

        display: none;

    }



    .printx-mainbar {

        grid-template-columns: auto auto;

        justify-content: space-between;

        position: relative;

    }



    .printx-menu-toggle {

        display: inline-flex;

        order: 3;

    }



    .printx-primary-nav {

        position: absolute;

        left: 0;

        right: 0;

        top: 100%;

        display: grid;

        grid-template-rows: 0fr;

        padding: 12px;

        border: 1px solid var(--printx-line);

        border-radius: 0 0 8px 8px;

        background: var(--printx-white);

        box-shadow: 0 18px 38px rgba(16, 31, 73, .12);

        opacity: 0;

        pointer-events: none;

        transform: translateY(-6px);

        transition: grid-template-rows .22s ease, opacity .18s ease, transform .18s ease;

        z-index: 40;

    }



    .printx-primary-nav.is-open {

        grid-template-rows: 1fr;

        opacity: 1;

        pointer-events: auto;

        transform: translateY(0);

    }



    .printx-primary-nav > .printx-menu {

        overflow: hidden;

    }



    .printx-menu {

        display: grid;

        gap: 4px;

    }



    .printx-menu a {

        justify-content: flex-start;

        width: 100%;

    }



    .printx-header-actions {

        grid-column: 1 / -1;

        justify-content: stretch;

        order: 4;

    }



    .printx-header-search-form {

        flex: 2;

        grid-template-columns: minmax(0, 1fr) 42px;

    }



    .printx-header-actions a {

        flex: 1;

    }



    .printx-hero-inner,

    .printx-section-head-row,

    .printx-trust-inner,

    .printx-design-inner,

    .printx-materials-inner,

    .printx-guide-inner,

    .printx-faq-inner,

    .printx-voucher-inner,

    .printx-quote-card {

        grid-template-columns: 1fr;

    }



    .printx-hero-conversion {

        min-height: auto;

    }



    .printx-category-grid,

    .printx-industry-grid,

    .printx-service-grid,

    .printx-step-grid,

    .printx-portfolio-grid,

    .printx-testimonial-grid,

    .printx-blog-grid,

    .printx-post-grid,

    .printx-footer-grid,

    .printx-product-benefits,

    .printx-product-process ol,

    .printx-product-related-grid {

        grid-template-columns: repeat(2, minmax(0, 1fr));

    }



    .printx-process .printx-step-grid {

        grid-template-columns: repeat(2, minmax(0, 1fr));

    }



    .printx-process .printx-step-grid::before {

        display: none;

    }



    .printx-product-depth-grid,

    .printx-product-process,

    .printx-woo-content .product-main > .row.content-row.mb-0 {

        grid-template-columns: 1fr;

    }



    .printx-service:nth-child(2) {

        border-right: 0;

    }



    .printx-service:nth-child(n + 3) {

        border-top: 1px solid var(--printx-line);

    }



    .printx-step-grid > div:nth-child(2) {

        border-right: 0;

    }



    .printx-step-grid > div:nth-child(n + 3) {

        padding-top: 28px;

        border-top: 1px solid var(--printx-line);

    }

}



@media (max-width: 700px) {

    .printx-portfolio .printx-portfolio-grid {

        grid-auto-columns: 84%;

    }



    .printx-portfolio-nav {

        display: none;

    }



    .printx-portfolio-modal {

        padding: 12px;

    }



    .printx-portfolio-modal-panel {

        grid-template-columns: 1fr;

        gap: 12px;

        padding: 12px;

    }



    .printx-portfolio-modal figure {

        min-height: 280px;

    }



    .printx-portfolio-modal-copy {

        padding: 4px;

    }



    .printx-portfolio-thumbs {

        grid-template-columns: repeat(4, minmax(0, 1fr));

    }



    .printx-process .printx-step-grid {

        grid-template-columns: 1fr;

        gap: 12px;

        padding-top: 0;

    }



    .printx-process .printx-step-grid::before {

        display: block;

        left: 23px;

        right: auto;

        top: 22px;

        bottom: 22px;

        width: 2px;

        height: auto;

        background: linear-gradient(180deg, var(--printx-cyan), var(--printx-orange));

    }



    .printx-process .printx-step-grid > div,

    .printx-process .printx-step-grid > div + div,

    .printx-process .printx-step-grid > div:nth-child(n + 3) {

        min-height: 0;

        padding: 20px 20px 20px 64px;

        border: 1px solid var(--printx-line);

    }



    .printx-process .printx-step-grid span {

        position: absolute;

        left: 18px;

        top: 20px;

        width: 40px;

        height: 40px;

        margin: 0;

        border-width: 3px;

    }



    .printx-mainbar {

        min-height: 68px;

        gap: 12px;

    }



    .printx-brand-logo img {

        width: 150px;

    }



    .printx-header-actions {

        display: grid;

        grid-template-columns: repeat(2, minmax(0, 1fr));

        width: 100%;

        gap: 8px;

    }



    .printx-header-search-form {

        grid-column: 1 / -1;

        grid-template-columns: minmax(0, 1fr) 42px;

        max-width: none;

        width: 100%;

    }



    .printx-header-actions a,
    .printx-header-order-lookup {
        min-width: 0;
        padding: 0 10px;
        font-size: 12px;
    }



    .printx-page-hero {

        padding: 42px 0;

    }



    .printx-entry-content,

    .printx-woo-content,

    .printx-post-grid {

        padding: 34px 0 52px;

    }



    .printx-container {

        width: min(100% - 24px, 1180px);

    }



    .printx-section {

        padding: 52px 0;

    }



    .printx-hero {

        padding: 42px 0 14px;

    }



    .printx-hero h1 {

        font-size: clamp(32px, 9vw, 42px);

        line-height: 1.18;

    }



    .printx-hero p {

        font-size: 16px;

    }



    .printx-print-preview {

        min-height: 380px;

    }



    .printx-hero-finder {

        grid-template-columns: minmax(0, 1fr);

    }



    .printx-hero-finder .printx-search-submit {

        grid-column: 1 / -1;

    }



    .printx-hero-finder .printx-search-clear {

        right: 16px;

        top: 29px;

    }



    .printx-live-search-grid {

        grid-template-columns: 1fr;

    }



    .printx-live-product {

        border-right: 0;

    }



    .printx-preview-stage {

        inset: 22px;

    }



    .printx-preview-panel {

        inset: 20px;

        padding: 18px;

        gap: 14px;

    }



    .printx-preview-panel-head strong {

        font-size: 17px;

    }



    .printx-preview-main-object {

        min-height: 184px;

    }



    .printx-preview-box {

        width: 210px;

        padding: 18px;

    }



    .printx-preview-box::after {

        right: -32px;

        width: 32px;

    }



    .printx-preview-label-roll {

        right: 22px;

        bottom: 14px;

        width: 112px;

        height: 58px;

    }



    .printx-preview-checklist {

        grid-template-columns: 1fr;

        gap: 7px;

    }



    .printx-preview-checklist span {

        padding: 8px 10px;

        font-size: 12px;

    }



    .printx-sheet-cyan {

        left: 34px;

        top: 42px;

        width: 150px;

        height: 204px;

    }



    .printx-sheet-magenta {

        right: 34px;

        top: 62px;

        width: 132px;

        height: 184px;

    }



    .printx-sheet-yellow {

        right: 56px;

        bottom: 60px;

        width: 198px;

        height: 78px;

    }



    .printx-preview-product {

        left: 100px;

        top: 118px;

        width: 154px;

        height: 142px;

    }



    .printx-preview-box-side {

        right: -30px;

        width: 30px;

    }



    .printx-preview-spec {

        left: 28px;

        bottom: 28px;

        max-width: 214px;

    }



    .printx-preview-metrics {

        right: 26px;

        bottom: 28px;

    }



    .printx-hero-strip,

    .printx-trust ul,

    .printx-category-grid,

    .printx-industry-grid,

    .printx-service-grid,

    .printx-step-grid,

    .printx-design-board,

    .printx-material-grid,

    .printx-portfolio-grid,

    .printx-testimonial-grid,

    .printx-blog-grid,

    .printx-post-grid,

    .printx-form-grid,

    .printx-product-depth-grid,

    .printx-product-benefits,

    .printx-product-process,

    .printx-product-process ol,

    .printx-product-related-grid {

        grid-template-columns: 1fr;

    }



    .printx-product-panel,

    .printx-product-process,

    .printx-product-faq {

        padding: 20px;

    }



    .printx-product-service-choice,

    .printx-product-actions,

    .printx-product-summary-list div {

        grid-template-columns: 1fr;

    }



    .printx-product-summary-list div {

        gap: 4px;

    }



    .printx-footer-cta,

    .printx-footer-grid,

    .printx-footer-bottom {

        grid-template-columns: 1fr;

        display: grid;

    }



    .printx-footer-bottom {

        justify-content: start;

    }



    .printx-footer-menu {

        display: grid;

        gap: 8px;

    }



    .printx-voucher-form {

        display: grid;

    }



    .printx-hero-strip span,

    .printx-service,

    .printx-step-grid > div,

    .printx-step-grid > div + div {

        border-right: 0;

    }



    .printx-hero-strip span + span,

    .printx-service + .printx-service,

    .printx-step-grid > div + div {

        border-top: 1px solid var(--printx-line);

    }



    .printx-quote-copy,

    .printx-quote-form {

        padding: 24px;

    }



    .printx-floating-contact {

        right: 10px;

        bottom: 10px;

        grid-template-columns: 46px;

        gap: 7px;

    }



    .printx-floating-contact.has-zalo-oa {

        bottom: 84px;

    }



    .printx-floating-contact a,

    .printx-floating-contact button {

        display: inline-grid;

        grid-template-rows: 18px 12px;

        gap: 2px;

        flex-basis: 44px;

        min-width: 44px;

        width: 44px;

        height: 44px;

        align-content: center;

        justify-items: center;

        border-radius: 12px;

        font-size: 15px;

    }



    .printx-floating-contact a > i,

    .printx-floating-contact button > i {

        line-height: 1;

    }



    .printx-floating-contact a > span,

    .printx-floating-contact button > span,

    .printx-floating-contact.show-phone-label .printx-float-phone span {

        position: static;

        display: block;

        min-width: 0;

        max-width: 40px;

        padding: 0;

        color: currentColor;

        background: transparent;

        box-shadow: none;

        opacity: 1;

        overflow: hidden;

        font-size: 8px;

        font-weight: 900;

        line-height: 1;

        text-align: center;

        text-overflow: ellipsis;

        white-space: nowrap;

        transform: none;

    }



    .printx-floating-contact .printx-phone-label strong {

        display: none;

    }



    .printx-floating-contact .printx-phone-label small {

        display: block;

        color: currentColor;

        font-size: 0;

        line-height: 1;

    }



    .printx-floating-contact .printx-phone-label small::before {

        content: "Gọi điện";

        font-size: 8px;

    }



    .printx-floating-contact.show-phone-label .printx-float-phone span {

        opacity: 1;

        transform: none;

    }



    .printx-floating-contact .printx-float-quote,

    .printx-floating-contact .printx-float-shop {

        display: none;

    }



    .printx-floating-contact .printx-float-menu {

        display: inline-grid !important;

    }



    .printx-floating-contact .printx-float-menu.is-open {

        background: var(--printx-orange);

    }



    .printx-category-grid {

        grid-template-columns: 1fr;

        gap: 10px;

    }



    .printx-category {

        grid-template-columns: 54px minmax(0, 1fr);

        min-height: 86px;

        align-items: center;

        column-gap: 14px;

        padding: 14px 16px;

        text-align: right;

        justify-items: end;

    }



    .printx-category span {

        grid-row: 1 / span 2;

        justify-self: start;

        width: 50px;

        height: 50px;

        margin: 0;

    }



    .printx-category strong {

        align-self: end;

        font-size: 20px;

    }



    .printx-category em {

        align-self: start;

        margin-top: 3px;

    }



    .printx-floating-contact.show-phone-label .printx-float-phone:hover span,

    .printx-floating-contact.show-phone-label .printx-float-phone:focus-visible span {

        opacity: 1;

        transform: translate(0, -50%);

    }



    .zalo-chat-widget {

        right: 4px !important;

        bottom: 10px !important;

    }



    .printx-zalo-pulse {

        right: 6px;

        bottom: 54px;

    }

}

/* === Refresh layer preserved in order === */
/* PrintX WIN11-style header, hero and frequent-product cards. */
.printx-brand { background: #ffffff; }

.printx-site-header {
    position: sticky;
    top: 0;
    z-index: 1002;
    border-bottom: 1px solid rgba(2, 132, 199, .14);
    background: rgba(255, 255, 255, .86);
    box-shadow: 0 10px 26px rgba(15, 23, 42, .06);
    backdrop-filter: blur(18px);
}

/* Final compact pass: lower hero and expandable header search. */
.printx-header-search-form {
    width: 44px;
    max-width: 44px;
    transition: width .24s ease, max-width .24s ease, background .18s ease, box-shadow .18s ease;
}

.printx-header-search-form.is-expanded,
.printx-header-search-form:focus-within,
.printx-header-search-form.has-value {
    width: min(360px, 34vw);
    max-width: 360px;
    grid-template-columns: minmax(0, 1fr) 44px;
    padding: 4px;
    border: 1px solid rgba(2, 132, 199, .12);
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 14px 32px rgba(2, 132, 199, .14);
}

.printx-header-search-form.is-expanded input,
.printx-header-search-form:focus-within input,
.printx-header-search-form.has-value input {
    display: block !important;
    min-height: 38px;
    padding: 0 14px;
    font-size: 13px;
}

.printx-header-search-form.is-expanded .printx-search-clear,
.printx-header-search-form.has-value .printx-search-clear {
    display: inline-flex !important;
}

.printx-header-search-form .printx-live-search-results {
    left: 0;
    right: 0;
    top: calc(100% + 10px);
}

.printx-hero {
    min-height: 440px;
    padding: 48px 0 28px;
}

.printx-hero-inner {
    grid-template-columns: minmax(0, 680px);
}

.printx-hero-copy {
    max-width: 680px;
}

.printx-hero .printx-kicker {
    min-height: 34px;
    padding: 0 20px;
    font-size: 12px;
}

.printx-hero h1 {
    max-width: 660px;
    margin: 18px 0 14px;
    font-size: clamp(38px, 5vw, 64px);
    line-height: 1.02;
}

.printx-hero p {
    max-width: 650px;
    margin-bottom: 20px;
    font-size: 17px;
    line-height: 1.55;
}

.printx-hero-finder {
    width: min(100%, 600px);
    min-height: 56px;
    padding: 6px;
}

.printx-hero-finder input[type="search"] {
    min-height: 42px;
}

.printx-hero-finder .printx-search-submit {
    min-height: 42px;
}

.printx-hero-actions {
    margin-top: 14px;
}

.printx-hero-strip {
    margin-top: 12px;
}

@media (max-width: 1020px) {
    .printx-header-search-form.is-expanded,
    .printx-header-search-form:focus-within,
    .printx-header-search-form.has-value {
        width: 100%;
        max-width: none;
    }

    .printx-hero {
        min-height: auto;
    }
}

@media (max-width: 700px) {
    .printx-hero {
        padding: 34px 0 20px;
    }

    .printx-hero h1 {
        font-size: 36px;
        line-height: 1.06;
    }

    .printx-hero p {
        font-size: 15px;
    }
}

/* Final visual alignment for WIN11-style hero controls and cards. */
.printx-hero-copy {
    position: relative;
    z-index: 20;
}

.printx-hero h1 {
    display: grid;
    gap: 2px;
    max-width: 580px;
    font-size: clamp(36px, 4.4vw, 58px);
    font-weight: 850;
    line-height: 1.04;
}

.printx-hero h1 span {
    display: block;
    color: #172a63;
}

.printx-hero-finder {
    position: relative;
    z-index: 50;
    width: min(100%, 360px);
    grid-template-columns: minmax(0, 1fr) 118px;
}

.printx-hero-finder .printx-search-submit {
    margin: 0;
}

.printx-hero-finder .printx-live-search-results {
    z-index: 999;
    overflow: hidden;
    border-radius: 16px;
}

.printx-live-search-results.is-open {
    z-index: 999;
}

.printx-live-search-grid {
    grid-template-columns: 1fr;
}

.printx-live-product {
    border-right: 0;
}

.printx-hero-strip {
    position: relative;
    z-index: 10;
    display: flex;
    flex-wrap: wrap;
    width: min(100%, 520px);
    gap: 10px;
    margin-top: 82px;
}

.printx-hero-strip span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 92px;
    min-height: 36px;
    padding: 0 16px;
    border: 1px solid rgba(14, 165, 233, .08);
    border-radius: 999px;
    color: #172a63;
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 8px 18px rgba(15, 23, 42, .055);
    font-size: 12px;
    font-weight: 850;
}

.printx-category-grid {
    gap: 18px;
    overflow: visible;
    border-radius: 0;
    background: transparent;
}

.printx-category,
.printx-category:nth-child(2n),
.printx-category:nth-child(4n),
.printx-category:nth-last-child(-n + 2),
.printx-category:nth-last-child(-n + 4) {
    border: 1px solid rgba(14, 165, 233, .08);
    border-radius: 18px;
}

.printx-category {
    min-height: 190px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 18px 38px rgba(15, 23, 42, .055);
}

@media (max-width: 700px) {
    .printx-hero-finder {
        width: 100%;
        grid-template-columns: 1fr;
    }

    .printx-hero-strip {
        width: 100%;
        margin-top: 16px;
    }

    .printx-hero-strip span {
        min-width: calc(50% - 5px);
    }
}

/* Final requested banner simplification. */
.printx-hero {
    min-height: 360px;
    padding: 34px 0 24px;
}

.printx-hero h1 {
    max-width: 560px;
    margin: 14px 0 12px;
    color: #172a63;
    font-size: clamp(34px, 4.1vw, 54px);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: 0;
    text-rendering: geometricPrecision;
    -webkit-font-smoothing: antialiased;
}

.printx-hero h1 span:empty {
    display: none;
}

.printx-hero p {
    max-width: 560px;
    margin-bottom: 16px;
    font-size: 15px;
    line-height: 1.55;
}

.printx-hero-finder {
    width: min(100%, 430px);
    min-height: 50px;
    grid-template-columns: minmax(0, 1fr) 132px;
    padding: 5px;
}

.printx-hero-finder input[type="search"] {
    min-height: 40px;
    padding: 0 14px;
    font-size: 13px;
}

.printx-hero-finder .printx-search-submit {
    min-height: 40px;
    margin: 0;
    padding: 0 16px !important;
    font-size: 13px;
}

.printx-hero-finder .printx-live-search-results {
    left: 0;
    right: 0;
    top: calc(100% + 10px);
    width: 100%;
}

.printx-hero-actions {
    margin-top: 12px;
}

.printx-hero-strip {
    width: min(100%, 430px);
}

@media (max-width: 700px) {
    .printx-hero {
        padding: 28px 0 18px;
    }

    .printx-hero h1 {
        font-size: 34px;
    }

    .printx-hero-finder {
        width: 100%;
        grid-template-columns: 1fr;
    }
}

/* Final visual alignment for WIN11-style hero controls and cards. Keep last. */
.printx-hero-copy {
    position: relative;
    z-index: 20;
}

.printx-hero h1 {
    display: grid;
    gap: 2px;
    max-width: 580px;
    font-size: clamp(36px, 4.4vw, 58px);
    font-weight: 850;
    line-height: 1.04;
}

.printx-hero h1 span {
    display: block;
    color: #172a63;
}

.printx-hero-finder {
    position: relative;
    z-index: 50;
    width: min(100%, 360px);
    grid-template-columns: minmax(0, 1fr) 118px;
}

.printx-hero-finder .printx-search-submit {
    margin: 0;
}

.printx-hero-finder .printx-live-search-results {
    z-index: 999;
    overflow: hidden;
    border-radius: 16px;
}

.printx-live-search-results.is-open {
    z-index: 999;
}

.printx-live-search-grid {
    grid-template-columns: 1fr;
}

.printx-live-product {
    border-right: 0;
}

.printx-hero-strip {
    position: relative;
    z-index: 10;
    display: flex;
    flex-wrap: wrap;
    width: min(100%, 520px);
    gap: 10px;
    margin-top: 82px;
}

.printx-hero-strip span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 92px;
    min-height: 36px;
    padding: 0 16px;
    border: 1px solid rgba(14, 165, 233, .08);
    border-radius: 999px;
    color: #172a63;
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 8px 18px rgba(15, 23, 42, .055);
    font-size: 12px;
    font-weight: 850;
}

.printx-category-grid {
    gap: 18px;
    overflow: visible;
    border-radius: 0;
    background: transparent;
}

.printx-category,
.printx-category:nth-child(2n),
.printx-category:nth-child(4n),
.printx-category:nth-last-child(-n + 2),
.printx-category:nth-last-child(-n + 4) {
    border: 1px solid rgba(14, 165, 233, .08);
    border-radius: 18px;
}

.printx-category {
    min-height: 190px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 18px 38px rgba(15, 23, 42, .055);
}

@media (max-width: 700px) {
    .printx-hero-finder {
        width: 100%;
        grid-template-columns: 1fr;
    }

    .printx-hero-strip {
        width: 100%;
        margin-top: 16px;
    }

    .printx-hero-strip span {
        min-width: calc(50% - 5px);
    }
}

.printx-topbar {
    color: #1f2937;
    background: linear-gradient(90deg, #edf8ff 0%, #f6f3ff 100%);
}

.printx-topbar-inner {
    min-height: 36px;
    font-size: 13px;
    font-weight: 600;
}

.printx-topbar-inner > span strong {
    margin-right: 6px;
    color: #020617;
    font-weight: 900;
}

.printx-topbar a {
    color: #1f2937;
    font-weight: 700;
}

.printx-mainbar-wrap {
    border-bottom: 0;
    background: linear-gradient(90deg, rgba(255, 255, 255, .96) 0%, rgba(232, 247, 255, .9) 100%);
}

.printx-mainbar {
    min-height: 72px;
    grid-template-columns: 220px minmax(0, 1fr) auto;
    gap: 22px;
}

.printx-brand-logo {
    display: inline-flex;
    align-items: center;
}

.printx-brand-logo img {
    width: 174px;
    filter: drop-shadow(0 8px 16px rgba(14, 116, 144, .12));
}

.printx-primary-nav {
    justify-self: center;
}

.printx-menu {
    gap: 14px;
}

.printx-menu a {
    min-height: 52px;
    padding: 0 10px;
    border-radius: 0;
    color: #050816;
    background: transparent;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.25;
    text-align: center;
}

.printx-menu a:hover,
.printx-menu .current-menu-item > a {
    color: #0369a1;
    background: transparent;
}

.printx-header-actions {
    gap: 10px;
}

.printx-header-search-form {
    width: 44px;
    max-width: 44px;
    min-height: 44px;
    grid-template-columns: 44px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    box-shadow: none;
}

.printx-header-search-form input,
.printx-header-search-form .printx-search-clear {
    display: none !important;
}

.printx-header-search-form .printx-search-submit {
    width: 44px;
    min-height: 44px;
    color: #020617;
    background: rgba(255, 255, 255, .46);
    border-radius: 999px;
    box-shadow: none;
}

.printx-header-search-form .printx-search-submit:hover {
    color: #0369a1;
    background: rgba(219, 242, 255, .92);
}

.printx-header-order-lookup,
.printx-header-shop,
.printx-header-cart {
    position: relative;
    width: 44px;
    min-width: 44px;
    min-height: 44px;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #020617 !important;
    background: rgba(255, 255, 255, .46) !important;
    box-shadow: none !important;
    font-size: 0 !important;
}

.printx-header-order-lookup i,
.printx-header-shop::before,
.printx-header-cart::before {
    font-family: "Font Awesome 6 Free";
    font-size: 17px;
    font-weight: 900;
}

.printx-header-shop::before { content: "\f07a"; }
.printx-header-cart::before { content: "\f291"; }

.printx-header-cart span {
    position: absolute;
    right: -2px;
    top: -2px;
    display: grid;
    place-items: center;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    border-radius: 999px;
    color: #fff;
    background: #0284c7;
    font-size: 11px;
    line-height: 1;
}

.printx-header-order-lookup:hover,
.printx-header-shop:hover,
.printx-header-cart:hover {
    color: #0369a1 !important;
    background: rgba(219, 242, 255, .92) !important;
}

.printx-hero {
    position: relative;
    min-height: 570px;
    padding: 70px 0 22px;
    overflow: hidden;
    background:
        radial-gradient(circle at 79% 36%, rgba(14, 165, 233, .28), transparent 30%),
        radial-gradient(circle at 78% 87%, rgba(124, 58, 237, .20), transparent 34%),
        linear-gradient(135deg, #eaf8ff 0%, #dff2ff 48%, #f7f1ff 100%);
}

.printx-hero::before { opacity: 0; }

.printx-hero::after {
    content: "";
    position: absolute;
    right: max(38px, calc((100vw - 1180px) / 2));
    bottom: 54px;
    width: min(500px, 39vw);
    height: 300px;
    pointer-events: none;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .72), rgba(255, 255, 255, .28)),
        linear-gradient(135deg, #0797ea, #38bdf8 48%, #bfdbfe);
    border: 12px solid #111827;
    border-bottom-width: 34px;
    border-radius: 24px 24px 16px 16px;
    box-shadow: 0 32px 76px rgba(2, 132, 199, .25);
}

.printx-hero-inner,
.printx-hero .printx-container {
    position: relative;
    z-index: 1;
}

.printx-hero-inner {
    grid-template-columns: minmax(0, 1fr) minmax(360px, .86fr);
    align-items: center;
}

.printx-hero-copy {
    max-width: 650px;
}

.printx-kicker,
.printx-hero .printx-kicker {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 24px;
    border: 1px solid rgba(14, 165, 233, .11);
    border-radius: 999px;
    color: #075985;
    background: rgba(255, 255, 255, .72);
    box-shadow: 0 10px 24px rgba(2, 132, 199, .08);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: none;
}

.printx-hero h1 {
    max-width: 660px;
    margin: 22px 0 18px;
    color: #030712;
    font-size: clamp(46px, 6.4vw, 82px);
    font-weight: 950;
    letter-spacing: 0;
    line-height: .98;
    text-wrap: balance;
}

.printx-hero h1 span {
    color: inherit;
}

.printx-hero p {
    max-width: 690px;
    margin-bottom: 26px;
    color: #475569;
    font-size: 19px;
    line-height: 1.65;
}

.printx-hero-finder {
    width: min(100%, 620px);
    min-height: 62px;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    padding: 8px;
    border: 0;
    border-radius: 16px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 18px 40px rgba(2, 132, 199, .18);
}

.printx-hero-finder input[type="search"] {
    min-height: 46px;
    color: #0f172a;
    font-size: 15px;
}

.printx-hero-finder .printx-search-submit {
    min-height: 46px;
    padding: 0 28px !important;
    border-radius: 12px;
    background: linear-gradient(135deg, #0284c7, #0369a1);
    box-shadow: 0 12px 26px rgba(2, 132, 199, .25);
}

.printx-hero-strip {
    width: min(100%, 620px);
    margin-top: 16px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    gap: 10px;
}

.printx-hero-strip span {
    min-height: 36px;
    padding: 0 14px;
    border: 1px solid rgba(14, 165, 233, .08);
    border-radius: 999px;
    color: #334155;
    background: rgba(255, 255, 255, .74);
    box-shadow: 0 8px 18px rgba(15, 23, 42, .06);
    font-size: 12px;
    font-weight: 850;
}

.printx-hero-conversion {
    min-height: 410px;
    background: transparent;
    box-shadow: none;
}

.printx-hero-proof {
    position: absolute;
    right: max(14px, calc((100vw - 1180px) / 2));
    bottom: 92px;
    z-index: 2;
    width: min(310px, 30vw);
}

.printx-hero-proof span {
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 14px;
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 18px 40px rgba(15, 23, 42, .13);
}

.printx-categories {
    padding-top: 64px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

.printx-categories .printx-section-head-row {
    display: block;
    margin-bottom: 28px;
}

.printx-categories .printx-section-head h2 {
    max-width: 820px;
    color: #050816;
    font-size: clamp(30px, 4.2vw, 48px);
    font-weight: 950;
    line-height: 1.05;
    text-wrap: balance;
}

.printx-categories .printx-section-head p {
    max-width: 760px;
    margin-top: 12px;
    color: #475569;
    font-size: 16px;
}

.printx-category-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.printx-category {
    position: relative;
    min-height: 190px;
    display: grid;
    align-content: start;
    justify-items: start;
    gap: 12px;
    padding: 26px 24px;
    overflow: hidden;
    border: 1px solid rgba(14, 165, 233, .08);
    border-radius: 18px;
    color: #0f172a;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 18px 38px rgba(15, 23, 42, .055);
    text-align: left;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}

.printx-category::after {
    content: "";
    position: absolute;
    right: -18px;
    bottom: -18px;
    width: 92px;
    height: 92px;
    border-radius: 28px 0 18px 0;
    background: linear-gradient(135deg, rgba(14, 165, 233, .14), rgba(124, 58, 237, .12));
}

.printx-category:hover {
    border-color: rgba(14, 165, 233, .24);
    background: #ffffff;
    box-shadow: 0 28px 60px rgba(2, 132, 199, .13);
    transform: translateY(-6px);
}

.printx-category span {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin: 0;
    border-radius: 14px;
    color: #0284c7;
    background: #e8f6ff;
    font-size: 20px;
}

.printx-category strong {
    position: relative;
    z-index: 1;
    color: #0f172a;
    font-size: 19px;
    font-weight: 950;
    line-height: 1.22;
}

.printx-category em {
    position: relative;
    z-index: 1;
    max-width: 210px;
    color: #475569;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.55;
}

.printx-category.printx-accent-orange span { color: #f97316; background: #fff0e7; }
.printx-category.printx-accent-magenta span { color: #db2777; background: #ffeaf3; }
.printx-category.printx-accent-green span { color: #16a34a; background: #eafbea; }
.printx-category.printx-accent-yellow span { color: #ca8a04; background: #fff8db; }
.printx-category.printx-accent-navy span { color: #4f46e5; background: #eef0ff; }

@media (max-width: 1120px) {
    .printx-mainbar { grid-template-columns: auto auto; }
    .printx-hero-proof { display: none; }
    .printx-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
    .printx-header-actions { display: none; }
    .printx-hero { min-height: auto; padding: 46px 0 18px; }
    .printx-hero::after { display: none; }
    .printx-hero-inner { grid-template-columns: 1fr; }
    .printx-hero h1 { font-size: 42px; line-height: 1.04; }
    .printx-hero p { font-size: 16px; }
    .printx-hero-finder { grid-template-columns: 1fr; border-radius: 14px; }
    .printx-hero-finder .printx-search-submit { width: 100%; }
    .printx-category-grid { grid-template-columns: 1fr; gap: 12px; }
    .printx-category {
        min-height: 138px;
        grid-template-columns: 54px minmax(0, 1fr);
        align-content: center;
        column-gap: 14px;
        padding: 18px;
    }
    .printx-category span {
        grid-row: 1 / span 2;
        width: 52px;
        height: 52px;
    }
}

/* Final hero/card correction from the supplied reference screenshot. */
.printx-hero {
    min-height: 560px;
    padding: 70px 0 34px;
    background:
        radial-gradient(circle at 72% 26%, rgba(14, 165, 233, .22), transparent 30%),
        linear-gradient(135deg, #eaf8ff 0%, #dff2ff 54%, #f5f0ff 100%);
}

.printx-hero::after,
.printx-hero-conversion,
.printx-hero-proof {
    display: none !important;
}

.printx-hero-inner {
    grid-template-columns: minmax(0, 760px);
    min-height: 0;
}

.printx-hero-copy {
    max-width: 760px;
}

.printx-hero h1 {
    min-height: 0;
    max-width: 720px;
    color: #172a63;
    font-size: clamp(54px, 7.2vw, 92px);
    line-height: .98;
}

.printx-hero h1 span {
    color: #f25a22;
}

.printx-hero p {
    max-width: 720px;
    color: #1f3b5d;
}

.printx-hero-finder {
    width: min(100%, 610px);
}

.printx-categories {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.printx-category-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    border-radius: 22px;
    overflow: hidden;
    background: rgba(255, 255, 255, .78);
}

.printx-category {
    min-height: 210px;
    padding: 34px 26px 28px;
    border: 0;
    border-right: 1px solid rgba(15, 23, 42, .06);
    border-bottom: 1px solid rgba(15, 23, 42, .06);
    border-radius: 0;
    background: rgba(255, 255, 255, .62);
    box-shadow: none;
    transform: translateY(0);
}

.printx-category:nth-child(4n) {
    border-right: 0;
}

.printx-category:nth-last-child(-n + 4) {
    border-bottom: 0;
}

.printx-category::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(135deg, rgba(232, 246, 255, .72), rgba(255, 255, 255, 0));
    opacity: 0;
    transition: opacity .24s ease;
}

.printx-category::after {
    right: -18px;
    bottom: -18px;
    width: 86px;
    height: 86px;
    border-radius: 54px 0 0 0;
    background: rgba(14, 165, 233, .13);
    transition: transform .24s ease, opacity .24s ease;
}

.printx-category:hover {
    z-index: 2;
    border-color: transparent;
    background: #ffffff;
    box-shadow: 0 26px 64px rgba(15, 23, 42, .12);
    transform: translateY(-8px);
}

.printx-category:hover::before {
    opacity: 1;
}

.printx-category:hover::after {
    opacity: .95;
    transform: translate(-8px, -8px);
}

.printx-category span {
    width: 48px;
    height: 48px;
    border-radius: 15px;
    transition: transform .24s ease, box-shadow .24s ease;
}

.printx-category:hover span {
    box-shadow: 0 12px 28px rgba(2, 132, 199, .16);
    transform: translateY(-3px) scale(1.04);
}

.printx-category strong {
    max-width: 190px;
    font-size: 19px;
}

.printx-category em {
    max-width: 220px;
}

.printx-category.printx-accent-cyan::after {
    background: rgba(14, 165, 233, .14);
}

.printx-category.printx-accent-orange::after {
    background: rgba(249, 115, 22, .13);
}

.printx-category.printx-accent-magenta::after {
    background: rgba(219, 39, 119, .12);
}

.printx-category.printx-accent-green::after {
    background: rgba(22, 163, 74, .12);
}

.printx-category.printx-accent-yellow::after {
    background: rgba(202, 138, 4, .13);
}

.printx-category.printx-accent-navy::after {
    background: rgba(79, 70, 229, .12);
}

@media (max-width: 1120px) {
    .printx-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .printx-category:nth-child(2n) {
        border-right: 0;
    }

    .printx-category:nth-last-child(-n + 4) {
        border-bottom: 1px solid rgba(15, 23, 42, .06);
    }

    .printx-category:nth-last-child(-n + 2) {
        border-bottom: 0;
    }
}

@media (max-width: 700px) {
    .printx-hero {
        min-height: auto;
    }

    .printx-hero h1 {
        font-size: 46px;
    }

    .printx-category-grid {
        grid-template-columns: 1fr;
        border-radius: 18px;
    }

    .printx-category,
    .printx-category:nth-child(2n),
    .printx-category:nth-child(4n),
    .printx-category:nth-last-child(-n + 2),
    .printx-category:nth-last-child(-n + 4) {
        min-height: 146px;
        border-right: 0;
        border-bottom: 1px solid rgba(15, 23, 42, .06);
        border-radius: 0;
    }

    .printx-category:last-child {
        border-bottom: 0;
    }
}

/* Final compact pass: must stay last. */
.printx-header-search-form {
    width: 44px;
    max-width: 44px;
    transition: width .24s ease, max-width .24s ease, background .18s ease, box-shadow .18s ease;
}

.printx-header-search-form.is-expanded,
.printx-header-search-form:focus-within,
.printx-header-search-form.has-value {
    width: min(360px, 34vw);
    max-width: 360px;
    grid-template-columns: minmax(0, 1fr) 44px;
    padding: 4px;
    border: 1px solid rgba(2, 132, 199, .12);
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 14px 32px rgba(2, 132, 199, .14);
}

.printx-header-search-form.is-expanded input,
.printx-header-search-form:focus-within input,
.printx-header-search-form.has-value input {
    display: block !important;
    min-height: 38px;
    padding: 0 14px;
    font-size: 13px;
}

.printx-header-search-form.is-expanded .printx-search-clear,
.printx-header-search-form.has-value .printx-search-clear {
    display: inline-flex !important;
}

.printx-header-search-form .printx-live-search-results {
    left: 0;
    right: 0;
    top: calc(100% + 10px);
}

.printx-hero {
    min-height: 430px;
    padding: 42px 0 26px;
}

.printx-hero-inner {
    grid-template-columns: minmax(0, 680px);
}

.printx-hero-copy {
    max-width: 680px;
}

.printx-hero .printx-kicker {
    min-height: 34px;
    padding: 0 20px;
    font-size: 12px;
}

.printx-hero h1 {
    max-width: 650px;
    margin: 16px 0 12px;
    font-size: clamp(36px, 4.9vw, 62px);
    line-height: 1.03;
}

.printx-hero p {
    max-width: 630px;
    margin-bottom: 18px;
    font-size: 16px;
    line-height: 1.55;
}

.printx-hero-finder {
    width: min(100%, 600px);
    min-height: 54px;
    padding: 6px;
}

.printx-hero-finder input[type="search"] {
    min-height: 40px;
}

.printx-hero-finder .printx-search-submit {
    min-height: 40px;
}

.printx-hero-actions {
    margin-top: 12px;
}

.printx-hero-strip {
    margin-top: 10px;
}

@media (max-width: 1020px) {
    .printx-header-search-form.is-expanded,
    .printx-header-search-form:focus-within,
    .printx-header-search-form.has-value {
        width: 100%;
        max-width: none;
    }

    .printx-hero {
        min-height: auto;
    }
}

@media (max-width: 700px) {
    .printx-hero {
        padding: 32px 0 20px;
    }

    .printx-hero h1 {
        font-size: 36px;
        line-height: 1.06;
    }

    .printx-hero p {
        font-size: 15px;
    }
}

/* Final requested banner simplification. Keep this block last. */
.printx-hero {
    min-height: 360px;
    padding: 34px 0 24px;
}

.printx-hero h1 {
    max-width: 560px;
    margin: 14px 0 12px;
    color: #172a63;
    font-size: clamp(34px, 4.1vw, 54px);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: 0;
    text-rendering: geometricPrecision;
    -webkit-font-smoothing: antialiased;
}

.printx-hero h1 span:empty {
    display: none;
}

.printx-hero p {
    max-width: 560px;
    margin-bottom: 16px;
    font-size: 15px;
    line-height: 1.55;
}

.printx-hero-finder {
    width: min(100%, 430px);
    min-height: 50px;
    grid-template-columns: minmax(0, 1fr) 132px;
    padding: 5px;
}

.printx-hero-finder input[type="search"] {
    min-height: 40px;
    padding: 0 14px;
    font-size: 13px;
}

.printx-hero-finder .printx-search-submit {
    min-height: 40px;
    margin: 0;
    padding: 0 16px !important;
    font-size: 13px;
}

.printx-hero-finder .printx-live-search-results {
    left: 0;
    right: 0;
    top: calc(100% + 10px);
    width: 100%;
}

.printx-hero-actions {
    margin-top: 12px;
}

.printx-hero-strip {
    width: min(100%, 430px);
}

@media (max-width: 700px) {
    .printx-hero {
        padding: 28px 0 18px;
    }

    .printx-hero h1 {
        font-size: 34px;
    }

    .printx-hero-finder {
        width: 100%;
        grid-template-columns: 1fr;
    }
}

/* === Final layer preserved in order === */
/* Final overrides for the WIN11-style PrintX hero and product cards. */
.printx-hero-copy {
    position: relative;
    z-index: 50;
}

.printx-hero {
    position: relative;
    overflow: visible;
}

.printx-hero-inner {
    position: relative;
    z-index: 40;
    overflow: visible;
}

.printx-hero::after {
    content: "";
    position: absolute;
    right: max(8px, calc((100vw - 1240px) / 2 + 4px));
    top: 30px;
    display: block !important;
    z-index: 0;
    width: min(560px, 43vw);
    height: 360px;
    pointer-events: none;
    background-image: url("https://baogia.printx.vn/wp-content/uploads/2025/05/an-pham-cua-hang-shop.png");
    background-repeat: no-repeat;
    background-position: right center;
    background-size: contain;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.printx-hero::before {
    display: none !important;
}

.printx-hero h1 {
    display: grid;
    gap: 2px;
    max-width: 580px;
    margin: 14px 0 12px;
    color: #172a63;
    font-size: clamp(36px, 4.4vw, 58px);
    font-weight: 850;
    line-height: 1.04;
    letter-spacing: 0;
    text-rendering: geometricPrecision;
    -webkit-font-smoothing: antialiased;
}

.printx-hero h1 span {
    display: block;
    color: #172a63;
}

.printx-hero p {
    max-width: 560px;
    margin-bottom: 16px;
    font-size: 15px;
    line-height: 1.55;
}

.printx-hero-finder {
    position: relative;
    z-index: 80;
    width: min(100%, 360px);
    min-height: 50px;
    grid-template-columns: minmax(0, 1fr) 118px;
    padding: 5px;
    overflow: visible;
}

.printx-hero-finder input[type="search"] {
    min-height: 40px;
    padding: 0 14px;
    font-size: 13px;
}

.printx-hero-finder .printx-search-submit {
    min-height: 40px;
    margin: 0;
    padding: 0 14px !important;
    font-size: 12px;
}

.printx-hero-finder .printx-live-search-results {
    left: 0;
    right: 0;
    top: calc(100% + 10px);
    z-index: 2147483000;
    width: 100%;
    overflow: hidden;
    border-radius: 16px;
    box-shadow: 0 22px 52px rgba(15, 23, 42, .16);
}

.printx-live-search-results.is-open {
    z-index: 2147483000;
}

.printx-live-search-grid {
    grid-template-columns: 1fr;
}

.printx-live-product {
    border-right: 0;
}

.printx-hero-strip {
    position: relative;
    z-index: 0;
    display: flex;
    flex-wrap: nowrap;
    width: min(100%, 620px);
    gap: 10px;
    margin-top: 96px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    overflow-x: auto;
    scrollbar-width: none;
    white-space: nowrap;
}

.printx-hero > .printx-container:last-child {
    position: relative;
    z-index: 1;
}

.printx-header-actions,
.printx-header-search-form {
    position: relative;
    overflow: visible;
}

.printx-header-search-form {
    z-index: 30;
}

.printx-header-search-form:focus-within,
.printx-header-search-form.has-value,
.printx-header-search-form.is-expanded {
    z-index: 9999;
}

.printx-header-search-form .printx-live-search-results {
    left: 0;
    right: 0;
    top: calc(100% + 10px);
    z-index: 10000;
    width: min(360px, 86vw);
    overflow: hidden;
    border-radius: 16px;
    box-shadow: 0 20px 46px rgba(15, 23, 42, .18);
}

.printx-header-search-form .printx-live-search-grid {
    grid-template-columns: 1fr;
}

.printx-hero-strip::-webkit-scrollbar {
    display: none;
}

.printx-hero-strip span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 92px;
    min-height: 36px;
    padding: 0 16px;
    border: 1px solid rgba(14, 165, 233, .08);
    border-radius: 999px;
    color: #172a63;
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 8px 18px rgba(15, 23, 42, .055);
    font-size: 12px;
    font-weight: 850;
}

.printx-hero.is-live-search-open .printx-hero-strip {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.printx-category-grid {
    gap: 18px;
    overflow: visible;
    border-radius: 0;
    background: transparent;
}

.printx-category,
.printx-category:nth-child(2n),
.printx-category:nth-child(4n),
.printx-category:nth-last-child(-n + 2),
.printx-category:nth-last-child(-n + 4) {
    border: 1px solid rgba(14, 165, 233, .08);
    border-radius: 18px;
}

.printx-category {
    min-height: 190px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 18px 38px rgba(15, 23, 42, .055);
}

.printx-header-search-form .printx-live-search-results {
    left: 0;
    right: auto;
    top: calc(100% + 12px);
    z-index: 2147483000;
    width: min(420px, 92vw);
    overflow: hidden;
    border: 1px solid rgba(15, 42, 99, .08);
    border-radius: 14px;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 20px 46px rgba(15, 23, 42, .16);
}

.printx-header-search-form .printx-live-search-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
}

.printx-header-search-form .printx-live-product {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    min-height: 60px;
    padding: 8px 14px;
    border: 0;
    border-bottom: 1px solid rgba(15, 42, 99, .1);
    background: rgba(255, 255, 255, .94);
}

.printx-header-search-form .printx-live-product:last-child {
    border-bottom: 0;
}

.printx-header-search-form .printx-live-product:hover {
    background: #f7fbff;
}

.printx-header-search-form .printx-live-thumb {
    width: 58px;
    height: 44px;
    border-radius: 8px;
    background: #f2f7fb;
}

.printx-header-search-form .printx-live-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.printx-header-search-form .printx-live-info {
    min-width: 0;
}

.printx-header-search-form .printx-live-info strong {
    display: block;
    overflow: hidden;
    color: #172a63;
    font-size: 14px;
    font-weight: 850;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.printx-header-search-form .printx-live-info em {
    display: block;
    margin-top: 3px;
    color: #f25a22;
    font-size: 13px;
    font-style: normal;
    font-weight: 850;
}

@media (max-width: 700px) {
    .printx-hero::before,
    .printx-hero::after {
        display: none !important;
    }

    .printx-hero-finder {
        width: 100%;
        grid-template-columns: 1fr;
    }

    .printx-hero-strip {
        width: 100%;
        margin-top: 16px;
        flex-wrap: nowrap;
        overflow-x: auto;
    }

    .printx-hero-strip span {
        min-width: max-content;
    }
}

/* Final layout tuning: hero vertical rhythm and compact header search. */
@media (min-width: 901px) {
    .printx-mainbar {
        grid-template-columns: 220px minmax(420px, 1fr) auto;
        gap: 16px;
    }

    .printx-primary-nav {
        justify-self: end;
        min-width: 0;
    }

    .printx-menu {
        gap: 8px;
        flex-wrap: nowrap;
    }

    .printx-menu a {
        padding-inline: 8px;
        font-size: 13px;
        white-space: nowrap;
    }

    .printx-header-actions {
        gap: 8px;
        min-width: max-content;
    }

    .printx-header-search-form {
        width: 44px;
        max-width: 44px;
        grid-template-columns: 44px;
        flex: 0 0 44px;
    }

    .printx-header-search-form.is-expanded,
    .printx-header-search-form:focus-within,
    .printx-header-search-form.has-value {
        width: min(260px, 22vw);
        max-width: 260px;
        grid-template-columns: minmax(0, 1fr) 44px;
        flex-basis: min(260px, 22vw);
    }

    .printx-header-search-form .printx-live-search-results {
        right: 0;
        left: auto;
        width: min(420px, 42vw);
    }

    .printx-hero::after {
        right: max(-96px, calc((100vw - 1240px) / 2 - 104px));
        top: 44px;
        width: min(660px, 52vw);
        height: 355px;
        background-position: right center;
        background-size: contain;
    }

    .printx-hero-finder {
        margin-top: 48px;
    }

    .printx-hero-actions {
        margin-top: 16px;
    }

    .printx-hero-strip {
        margin-top: 74px;
    }
}

@media (min-width: 1280px) {
    .printx-hero::after {
        right: calc((100vw - 1240px) / 2 - 132px);
        width: 690px;
    }
}

/* Hard alignment pass: search controls, bounded dropdown, and right hero artwork. */
.printx-header-search-form .printx-search-clear,
.printx-hero-finder .printx-search-clear {
    width: 32px;
    min-height: 32px;
    padding: 0 !important;
    margin: 0 !important;
    border: 0;
    border-radius: 999px;
    color: #64748b;
    background: transparent;
    box-shadow: none;
    line-height: 1;
    transform: translateY(-50%);
}

.printx-header-search-form.has-value .printx-search-clear,
.printx-header-search-form.is-expanded .printx-search-clear,
.printx-hero-finder.has-value .printx-search-clear {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}

.printx-header-search-form .printx-search-clear {
    right: 46px !important;
    top: 50% !important;
}

.printx-header-search-form input[type="search"] {
    padding-right: 78px !important;
}

.printx-hero-finder .printx-search-clear {
    right: 128px !important;
    top: 50% !important;
}

.printx-hero-finder input[type="search"] {
    padding-right: 48px !important;
}

.printx-hero-finder .printx-live-search-results {
    max-height: 192px;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.printx-hero-finder .printx-live-search-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
}

.printx-hero-finder .printx-live-product {
    min-height: 68px;
}

@media (min-width: 901px) {
    .printx-hero::after {
        right: max(-360px, calc((100vw - 1240px) / 2 - 390px));
        width: min(780px, 58vw);
        background-position: right center;
    }
}

@media (min-width: 1280px) {
    .printx-hero::after {
        right: calc((100vw - 1240px) / 2 - 420px);
        width: 820px;
    }
}

/* 1.7.57 stability pass: keep the 1.7.51 look, reduce layout drift. */
.printx-hero {
    overflow: hidden;
}

.printx-hero-finder,
.printx-header-search-form {
    box-sizing: border-box;
}

.printx-hero-finder .printx-live-search-results {
    max-height: min(210px, 38vh);
    overflow-y: auto;
    overscroll-behavior: contain;
}

.printx-header-search-form .printx-live-search-results {
    max-height: min(480px, 72vh);
    overflow-y: auto;
    overscroll-behavior: contain;
}

.printx-header-search-form .printx-live-info em {
    min-height: 16px;
}

@media (min-width: 901px) {
    .printx-hero::after {
        right: max(-300px, calc((100vw - 1240px) / 2 - 340px));
        width: min(700px, 52vw);
        height: 304px;
    }
}

@media (min-width: 1280px) {
    .printx-hero::after {
        right: calc((100vw - 1240px) / 2 - 350px);
        width: 700px;
        height: 304px;
    }
}

/* 1.7.58 fix: materials section text contrast. */
.printx-materials {
    color: #17305f;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(244, 250, 255, .96)),
        #f6fbff;
}

.printx-materials .printx-kicker {
    color: #0284c7 !important;
}

.printx-materials h2,
.printx-materials h3 {
    color: #172a63 !important;
}

.printx-materials-inner > div > p,
.printx-material-grid p {
    color: #334766 !important;
}

.printx-material-grid article {
    border: 1px solid rgba(14, 165, 233, .12);
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 14px 32px rgba(15, 23, 42, .06);
}

/* 1.7.63: more practical trust bar with clearer hierarchy. */
.printx-trust {
    padding: 30px 0;
    border-bottom: 0;
    background:
        linear-gradient(90deg, rgba(239, 246, 255, .76), rgba(255, 255, 255, .92) 42%, rgba(255, 247, 237, .62)),
        #ffffff;
}

.printx-trust-inner {
    grid-template-columns: minmax(280px, .88fr) minmax(560px, 1.12fr);
    gap: 26px;
    padding: 22px;
    border: 1px solid rgba(214, 226, 240, .9);
    border-radius: 14px;
    background: rgba(255, 255, 255, .78);
    box-shadow: 0 18px 44px rgba(15, 23, 42, .06);
}

.printx-trust-inner > div {
    position: relative;
    gap: 7px;
    padding-left: 18px;
}

.printx-trust-inner > div::before {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    width: 4px;
    height: calc(100% - 8px);
    border-radius: 999px;
    background: linear-gradient(180deg, #0088c8, #ff5a1f);
}

.printx-trust-inner > div span {
    color: #f05a22;
    font-size: 11px;
    letter-spacing: .02em;
}

.printx-trust-inner > div strong {
    max-width: 520px;
    color: #102a63;
    font-size: 25px;
    line-height: 1.12;
}

.printx-trust-inner > div p {
    max-width: 520px;
    margin: 0;
    color: #48627f;
    font-size: 14px;
    line-height: 1.55;
}

.printx-trust ul {
    gap: 12px;
}

.printx-trust li {
    position: relative;
    min-height: 110px;
    gap: 8px;
    padding: 16px 15px 14px;
    border-color: rgba(214, 226, 240, .95);
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .045);
    overflow: hidden;
}

.printx-trust li::before {
    content: "01";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 22px;
    border-radius: 999px;
    color: #0088c8;
    background: rgba(0, 136, 200, .1);
    font-size: 10px;
    font-weight: 900;
}

.printx-trust li:nth-child(2)::before {
    content: "02";
    color: #f05a22;
    background: rgba(240, 90, 34, .1);
}

.printx-trust li:nth-child(3)::before {
    content: "03";
    color: #16a34a;
    background: rgba(22, 163, 74, .1);
}

.printx-trust li:nth-child(4)::before {
    content: "04";
    color: #172a63;
    background: rgba(23, 42, 99, .09);
}

.printx-trust li::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 3px;
    background: #0088c8;
    opacity: .86;
}

.printx-trust li:nth-child(2)::after {
    background: #f05a22;
}

.printx-trust li:nth-child(3)::after {
    background: #16a34a;
}

.printx-trust li:nth-child(4)::after {
    background: #172a63;
}

.printx-trust li strong {
    color: #102a63;
    letter-spacing: 0;
}

.printx-trust li span {
    color: #53687f;
    font-size: 12px;
    line-height: 1.35;
}

@media (max-width: 900px) {
    .printx-trust-inner {
        grid-template-columns: 1fr;
        padding: 18px;
    }

    .printx-trust ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 549px) {
    .printx-trust {
        padding: 22px 0;
    }

    .printx-trust-inner > div strong {
        font-size: 22px;
    }

    .printx-trust ul {
        grid-template-columns: 1fr;
    }

    .printx-trust li {
        min-height: 94px;
    }
}

/* 1.7.64: hide Flickity arrows and use colored line dots. */
.printx-home .flickity-prev-next-button,
.printx-home .slider-nav-circle .flickity-prev-next-button {
    display: none !important;
}

.printx-home .flickity-prev-next-button::before,
.printx-home .slider-nav-circle .flickity-prev-next-button::before {
    content: none !important;
}

.printx-home .flickity-prev-next-button.previous::before,
.printx-home .slider-nav-circle .flickity-prev-next-button.previous::before {
    content: none !important;
}

.printx-home .flickity-prev-next-button.next::before,
.printx-home .slider-nav-circle .flickity-prev-next-button.next::before {
    content: none !important;
}

.printx-home .flickity-prev-next-button:hover,
.printx-home .slider-nav-circle .flickity-prev-next-button:hover {
    display: none !important;
}

.printx-home .flickity-prev-next-button.previous:hover,
.printx-home .slider-nav-circle .flickity-prev-next-button.previous:hover {
    transform: none;
}

.printx-home .flickity-prev-next-button.next:hover,
.printx-home .slider-nav-circle .flickity-prev-next-button.next:hover {
    transform: none;
}

.printx-home .flickity-button-icon {
    display: none !important;
}

.printx-home .flickity-page-dots {
    bottom: 18px;
    display: inline-flex;
    left: 50%;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 0;
    max-width: none;
    gap: 8px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transform: translateX(-50%);
    backdrop-filter: none;
}

.printx-home .flickity-page-dots .dot {
    display: block;
    flex: 0 0 26px;
    width: 26px !important;
    height: 4px !important;
    margin: 0 !important;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(0, 136, 200, .42);
    opacity: .72;
    box-shadow: 0 1px 3px rgba(15, 23, 42, .12);
    transition: width .18s ease, background-color .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.printx-home .flickity-page-dots .dot:nth-child(2n) {
    background: rgba(240, 90, 34, .46);
}

.printx-home .flickity-page-dots .dot:nth-child(3n) {
    background: rgba(22, 163, 74, .44);
}

.printx-home .flickity-page-dots .dot:nth-child(4n) {
    background: rgba(23, 42, 99, .42);
}

.printx-home .flickity-page-dots .dot.is-selected,
.printx-home .flickity-page-dots .dot[aria-current="step"] {
    flex-basis: 42px;
    width: 42px !important;
    background: #0088c8;
    box-shadow: 0 2px 7px rgba(0, 136, 200, .28);
    opacity: 1;
}

@media (max-width: 849px) {
    .printx-home .flickity-prev-next-button,
    .printx-home .slider-nav-circle .flickity-prev-next-button {
        display: none !important;
    }

    .printx-home .flickity-page-dots {
        bottom: 10px;
        gap: 6px;
    }

    .printx-home .flickity-page-dots .dot {
        flex-basis: 20px;
        width: 20px !important;
        height: 3px !important;
    }

.printx-home .flickity-page-dots .dot.is-selected,
.printx-home .flickity-page-dots .dot[aria-current="step"] {
    flex-basis: 32px;
    width: 32px !important;
    }
}

/* 1.7.68: richer FAQ section with practical support panel. */
.printx-faq {
    background:
        linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}

.printx-faq-inner {
    grid-template-columns: minmax(280px, .76fr) minmax(520px, 1.24fr);
    gap: 48px;
    align-items: start;
}

.printx-faq-inner > div:first-child {
    position: sticky;
    top: 96px;
}

.printx-faq-inner > div:first-child > p {
    max-width: 430px;
    margin: 16px 0 0;
    color: #48627f;
    font-size: 15px;
    line-height: 1.65;
}

.printx-faq-help {
    position: relative;
    display: grid;
    gap: 14px;
    max-width: 390px;
    margin-top: 28px;
    padding: 22px;
    border-radius: 14px;
    color: #ffffff;
    background:
        linear-gradient(135deg, rgba(0, 136, 200, .94), rgba(23, 48, 95, .98));
    box-shadow: 0 22px 48px rgba(23, 48, 95, .18);
    overflow: hidden;
}

.printx-faq-help::after {
    content: "";
    position: absolute;
    right: -42px;
    top: -42px;
    width: 132px;
    height: 132px;
    border: 22px solid rgba(255, 255, 255, .12);
    border-radius: 999px;
}

.printx-faq-help strong {
    position: relative;
    z-index: 1;
    color: #ffffff;
    font-size: 21px;
    line-height: 1.2;
}

.printx-faq-help span {
    position: relative;
    z-index: 1;
    color: rgba(255, 255, 255, .82);
    font-size: 14px;
    line-height: 1.55;
}

.printx-faq-help ul {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 8px;
    margin: 2px 0 0;
    padding: 0;
    list-style: none;
}

.printx-faq-help li {
    display: flex;
    gap: 8px;
    align-items: center;
    color: rgba(255, 255, 255, .92);
    font-size: 13px;
    font-weight: 800;
}

.printx-faq-help li::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: #ffcf33;
    box-shadow: 0 0 0 4px rgba(255, 207, 51, .14);
}

.printx-faq-help .printx-button {
    position: relative;
    z-index: 1;
    justify-self: start;
    margin-top: 2px;
    color: #17305f !important;
    background: #ffffff !important;
    box-shadow: none;
}

.printx-faq-list {
    gap: 12px;
    counter-reset: printx-faq;
}

.printx-faq-list details {
    position: relative;
    border-color: rgba(214, 226, 240, .95);
    border-radius: 12px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 12px 26px rgba(15, 23, 42, .045);
    overflow: hidden;
}

.printx-faq-list details:not([open]) {
    min-height: 58px;
}

.printx-faq-list details[open] {
    border-color: rgba(0, 136, 200, .26);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(246, 251, 255, .98) 100%);
    box-shadow: 0 18px 38px rgba(0, 136, 200, .09);
}

.printx-faq-list details::before {
    counter-increment: printx-faq;
    content: counter(printx-faq, decimal-leading-zero);
    position: absolute;
    left: 18px;
    top: 17px;
    color: #0088c8;
    font-size: 11px;
    font-weight: 900;
}

.printx-faq-list summary {
    padding: 17px 54px 17px 58px;
}

.printx-faq-list summary::after {
    content: "+";
    position: absolute;
    right: 20px;
    top: 17px;
    color: #0088c8;
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
}

.printx-faq-list details[open] summary::after {
    content: "-";
}

.printx-faq-list p {
    padding: 0 54px 20px 58px;
    max-width: 680px;
    color: #48627f;
    line-height: 1.62;
}

.printx-quote-modal-open {
    overflow: hidden;
}

.printx-quote-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 22px;
}

.printx-quote-modal.is-open {
    display: flex;
}

.printx-quote-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(9, 18, 43, .62);
    backdrop-filter: blur(6px);
}

.printx-quote-modal-panel {
    position: relative;
    z-index: 1;
    width: min(1180px, 96vw);
    max-height: min(760px, 92vh);
    overflow-y: auto;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 30px 90px rgba(9, 18, 43, .32);
}

.printx-quote-modal-panel .printx-quote-card {
    border-radius: 14px;
    box-shadow: none;
}

.printx-quote-modal-close {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    min-height: 38px;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid rgba(214, 226, 240, .9);
    border-radius: 999px;
    color: #17305f;
    background: #ffffff;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .12);
}

.printx-quote-modal-close:hover {
    color: #ffffff;
    background: #f05a22;
}

@media (max-width: 849px) {
    .printx-quote-modal {
        padding: 12px;
    }

    .printx-quote-modal-panel {
        max-height: 94vh;
    }

    .printx-quote-modal-close {
        top: 10px;
        right: 10px;
    }
}

@media (max-width: 900px) {
    .printx-faq-inner {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .printx-faq-inner > div:first-child {
        position: static;
    }

    .printx-faq-help {
        max-width: none;
    }
}

/* 1.7.72: make blog teasers and voucher CTA feel less like placeholders. */
.printx-blog-teasers .printx-section-head {
    max-width: 760px;
}

.printx-blog-teasers .printx-section-head p {
    max-width: 680px;
    margin: 14px 0 0;
    color: #48627f;
    font-size: 15px;
    line-height: 1.65;
}

.printx-blog-grid article {
    position: relative;
    display: grid;
    align-content: start;
    gap: 14px;
    min-height: 250px;
    padding: 26px;
    border-radius: 10px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(247, 251, 255, .98));
    box-shadow: 0 18px 36px rgba(15, 23, 42, .055);
    overflow: hidden;
}

.printx-blog-grid article::before {
    content: "";
    width: 42px;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, #0088c8, #ff5722);
}

.printx-blog-grid h3 {
    margin: 8px 0 0;
    font-size: 22px;
}

.printx-blog-grid p {
    margin: 0;
    color: #536987;
    font-size: 14px;
    line-height: 1.58;
}

.printx-blog-grid a {
    align-self: end;
    margin-top: 4px;
}

.printx-voucher {
    padding: 46px 0;
}

.printx-voucher-inner {
    grid-template-columns: minmax(0, .95fr) minmax(360px, .78fr);
    gap: 28px;
    padding: 30px;
    border: 1px solid rgba(255, 87, 34, .14);
    border-radius: 14px;
    background:
        radial-gradient(circle at 8% 20%, rgba(255, 207, 51, .24), transparent 26%),
        linear-gradient(135deg, rgba(255, 255, 255, .94), rgba(255, 247, 239, .9));
}

.printx-voucher-inner > div {
    position: relative;
    display: grid;
    gap: 6px;
    padding-left: 18px;
}

.printx-voucher-inner > div::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3px;
    bottom: 3px;
    width: 4px;
    border-radius: 999px;
    background: linear-gradient(180deg, #ff5722, #ffcf33);
}

.printx-voucher-inner strong {
    display: block;
    color: #ff5722;
    font-size: 44px;
    font-weight: 950;
    letter-spacing: 0;
    line-height: 1;
}

.printx-voucher-inner em {
    color: #17305f;
    font-style: normal;
    font-size: 18px;
    font-weight: 900;
}

.printx-voucher-form {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    padding: 10px;
    border-radius: 12px;
}

.printx-voucher-form label {
    grid-column: 1 / -1;
    margin: 0 0 2px;
    color: #17305f;
    font-size: 14px;
    font-weight: 900;
}

.printx-voucher-form input {
    min-height: 48px;
}

@media (max-width: 849px) {
    .printx-voucher-inner {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 549px) {
    .printx-voucher-form {
        grid-template-columns: 1fr;
    }

    .printx-voucher-inner strong {
        font-size: 38px;
    }
}

/* 1.7.73: move the last-call voucher visually into the footer rhythm. */
.printx-blog-teasers {
    padding-bottom: 66px;
}

.printx-blog-teasers .printx-section-head-row {
    display: grid;
    grid-template-columns: minmax(320px, .82fr) minmax(360px, .78fr);
    gap: 42px;
    align-items: end;
    max-width: none;
}

.printx-blog-teasers .printx-section-head-row > div {
    display: contents;
}

.printx-blog-teasers .printx-kicker {
    grid-column: 1;
    justify-self: start;
}

.printx-blog-teasers .printx-section-head h2 {
    grid-column: 1;
    max-width: 620px;
    margin-bottom: 0;
}

.printx-blog-teasers .printx-section-head p {
    grid-column: 2;
    align-self: end;
    max-width: 500px;
    margin: 0 0 4px;
}

.printx-blog-grid {
    margin-top: 30px;
}

.printx-blog-grid article {
    min-height: 230px;
    border-color: rgba(214, 226, 240, .9);
}

.printx-blog-grid article:hover {
    transform: translateY(-3px);
    border-color: rgba(0, 136, 200, .28);
    box-shadow: 0 24px 46px rgba(15, 23, 42, .075);
}

.printx-blog-grid h3 {
    max-width: 320px;
}

.printx-voucher {
    position: relative;
    padding: 54px 0 58px;
    color: #ffffff;
    background:
        linear-gradient(180deg, rgba(15, 31, 48, .9), rgba(15, 31, 48, .96)),
        radial-gradient(circle at 18% 0%, rgba(0, 136, 200, .22), transparent 28%),
        linear-gradient(135deg, #132536, #0f1f30);
    border-top: 4px solid #20b7bd;
    overflow: hidden;
}

.printx-voucher::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
    background-size: 46px 46px;
    opacity: .22;
    pointer-events: none;
}

.printx-voucher-inner {
    position: relative;
    z-index: 1;
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 20px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    text-align: center;
}

.printx-voucher-inner > div {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: baseline;
    gap: 8px 10px;
    max-width: 980px;
    padding-left: 0;
}

.printx-voucher-inner > div::before {
    display: none;
}

.printx-voucher-inner span {
    color: #ffffff;
    font-size: clamp(20px, 2.2vw, 28px);
    line-height: 1.2;
}

.printx-voucher-inner strong {
    color: #ffcf33;
    font-size: clamp(24px, 2.45vw, 32px);
    line-height: 1.05;
}

.printx-voucher-inner em {
    color: #ffffff;
    font-size: clamp(20px, 2.2vw, 28px);
    line-height: 1.2;
}

.printx-voucher-form {
    width: min(560px, 100%);
    grid-template-columns: minmax(0, 1fr) 168px;
    gap: 0;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, .12);
    box-shadow: 0 20px 46px rgba(0, 0, 0, .18);
    overflow: hidden;
}

.printx-voucher-form label {
    grid-column: 1 / -1;
    margin: 0 0 10px;
    color: rgba(255, 255, 255, .9);
    font-size: 13px;
}

.printx-voucher-form input {
    min-height: 48px;
    padding: 0 18px;
    color: #ffffff;
    background: rgba(255, 255, 255, .08);
}

.printx-voucher-form input::placeholder {
    color: rgba(255, 255, 255, .72);
}

.printx-voucher-form .printx-button {
    min-width: 0;
    min-height: 48px;
    border-radius: 999px;
    color: #0f1f30 !important;
    background: #ffcf33 !important;
}

.printx-site-footer {
    margin-top: 0;
}

@media (max-width: 849px) {
    .printx-blog-teasers .printx-section-head-row {
        display: block;
    }

    .printx-blog-teasers .printx-section-head-row > div {
        display: block;
    }

    .printx-blog-teasers .printx-section-head p {
        margin-top: 14px;
    }
}

@media (max-width: 549px) {
    .printx-voucher-form {
        grid-template-columns: 1fr;
        border-radius: 16px;
        background: transparent;
        box-shadow: none;
        overflow: visible;
    }

    .printx-voucher-form input,
    .printx-voucher-form .printx-button {
        border-radius: 999px;
    }
}

/* 1.7.74: compact the voucher/footer stack so the page ending feels lighter. */
.printx-voucher {
    padding: 24px 0;
    border-top-width: 3px;
}

.printx-voucher::before {
    background-size: 54px 54px;
    opacity: .14;
}

.printx-voucher-inner {
    grid-template-columns: minmax(0, 1fr) minmax(380px, 520px);
    justify-items: stretch;
    align-items: center;
    gap: 28px;
    text-align: left;
}

.printx-voucher-inner > div {
    justify-content: flex-start;
    gap: 6px 9px;
    max-width: none;
}

.printx-voucher-inner span,
.printx-voucher-inner em {
    font-size: clamp(17px, 1.35vw, 22px);
}

.printx-voucher-inner strong {
    font-size: clamp(20px, 1.7vw, 26px);
}

.printx-voucher-form {
    justify-self: end;
    width: min(520px, 100%);
    grid-template-columns: minmax(0, 1fr) 142px;
    background: rgba(255, 255, 255, .1);
    box-shadow: none;
}

.printx-voucher-form label {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    overflow: hidden;
}

.printx-voucher-form input,
.printx-voucher-form .printx-button {
    min-height: 44px;
}

.printx-footer-cta {
    padding: 24px 0;
}

.printx-footer-cta strong {
    max-width: 680px;
    margin-top: 6px;
    font-size: clamp(24px, 2.25vw, 34px);
}

.printx-footer-cta .printx-button {
    margin: 0 !important;
}

@media (max-width: 849px) {
    .printx-voucher-inner {
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 16px;
        text-align: center;
    }

    .printx-voucher-inner > div {
        justify-content: center;
    }

    .printx-voucher-form {
        justify-self: center;
    }
}

@media (max-width: 549px) {
    .printx-voucher {
        padding: 28px 0;
    }

    .printx-voucher-form {
        grid-template-columns: 1fr;
        gap: 10px;
        width: 100%;
    }

    .printx-voucher-form input {
        background: rgba(255, 255, 255, .12);
    }

    .printx-footer-cta {
        padding: 22px 0;
    }

    .printx-footer-cta strong {
        font-size: 24px;
    }
}
/* Product page, home hero and slider controls: consolidated 1.7.91. */
.single-product .printx-woo-hero {
    display: none;
}

.printx-single-product {
    padding: 28px 0 70px;
    background: linear-gradient(180deg, #f6fbff 0%, #ffffff 54%, #f7fbff 100%);
}

.printx-single-product .printx-container {
    width: min(1220px, calc(100% - 36px));
}

.printx-single-top {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(410px, .98fr);
    gap: 24px;
    align-items: start;
}

.printx-single-gallery,
.printx-single-summary,
.printx-single-content,
.printx-single-section {
    border: 1px solid rgba(210, 225, 241, .95);
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 20px 46px rgba(15, 23, 42, .06);
}

.printx-single-gallery {
    position: sticky;
    top: 96px;
    padding: 16px;
}

.printx-single-gallery .product-gallery,
.printx-single-gallery .woocommerce-product-gallery {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.printx-single-gallery .woocommerce-product-gallery__wrapper,
.printx-single-gallery .woocommerce-product-gallery__image,
.printx-single-gallery .flickity-viewport {
    min-height: 0 !important;
    border-radius: 10px;
    background: #f3f9ff;
}

.printx-single-gallery .woocommerce-product-gallery__image img {
    display: block;
    width: 100%;
    min-height: 0 !important;
    max-height: 620px;
    object-fit: contain;
    border-radius: 10px;
}

.printx-single-gallery .product-thumbnails img,
.printx-single-gallery .flex-control-thumbs img {
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 8px;
}

.printx-single-summary {
    padding: 22px;
}

.printx-single-breadcrumb .woocommerce-breadcrumb {
    margin: 0 0 10px;
    color: #6c7d95;
    font-size: 12px;
}

.printx-single-breadcrumb span {
    margin: 0 6px;
    color: #a7b5c7;
}

.printx-single-summary h1 {
    margin: 0;
    color: #152c60;
    font-size: clamp(24px, 2.35vw, 34px);
    line-height: 1.15;
}

.printx-single-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 14px 0;
}

.printx-single-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 10px;
    border-radius: 999px;
    color: #405979;
    background: #f2f7fd;
    font-size: 12px;
    font-weight: 700;
}

.printx-single-price {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin: 0 0 12px;
    padding: 14px 16px;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(255, 87, 34, .08), rgba(0, 136, 200, .08));
}

.printx-single-price > span {
    color: #152c60;
    font-size: 13px;
    font-weight: 800;
}

.printx-single-price .price,
.printx-single-price .amount {
    color: #ff5722;
    font-size: 24px;
    font-weight: 950;
}

.printx-single-intro {
    margin: 0 0 16px;
    color: #425b78;
    font-size: 15px;
    line-height: 1.65;
}

.printx-single-spec-card {
    overflow: hidden;
    border: 1px solid rgba(190, 216, 239, .95);
    border-radius: 14px;
    background: #ffffff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9);
}

.printx-single-spec-card h2 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 2px;
    padding: 13px 16px 8px;
    color: #152c60;
    font-size: 16px;
    letter-spacing: 0;
}

.printx-single-spec-card h2::before {
    content: "\f15c";
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    color: #ffffff;
    background: linear-gradient(135deg, #0088c8, #152c60);
    font-family: "Font Awesome 6 Free";
    font-size: 12px;
    font-weight: 900;
}

.printx-single-spec-card dl {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 0 14px 12px;
}

.printx-single-spec-card dl > div {
    display: grid;
    grid-template-columns: minmax(116px, .42fr) minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    min-height: 36px;
    padding: 8px 10px;
    border: 1px solid rgba(222, 234, 246, .9);
    border-radius: 9px;
    background: rgba(255, 255, 255, .9);
}

.printx-single-spec-card dt {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #152c60;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.printx-single-spec-card dd {
    margin: 0;
    color: #536987;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
}

.printx-single-file-support {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0 14px;
    padding: 11px 0;
    border-top: 1px solid rgba(222, 234, 246, .9);
    border-bottom: 1px solid rgba(222, 234, 246, .9);
}

.printx-single-file-support strong {
    color: #152c60;
    font-size: 13px;
}

.printx-single-file-support span {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 4px 9px;
    border-radius: 999px;
    color: #0077b8;
    background: #eaf7ff;
    font-size: 11px;
    font-weight: 900;
}

.printx-single-service-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding: 12px 14px 14px;
}

.printx-single-service-grid div {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    grid-template-areas: "icon title" "text text";
    column-gap: 9px;
    row-gap: 6px;
    align-items: center;
    min-height: 82px;
    padding: 11px;
    border: 1px solid rgba(223, 235, 247, .9);
    border-radius: 12px;
    background: linear-gradient(180deg, #ffffff, #f4f9ff);
    box-shadow: 0 10px 24px rgba(15, 23, 42, .04);
}

.printx-single-service-grid i {
    grid-area: icon;
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 9px;
    color: #0088c8;
    background: #e9f7ff;
    font-size: 14px;
}

.printx-single-service-grid strong {
    grid-area: title;
    min-width: 0;
    color: #152c60;
    font-size: 13px;
    line-height: 1.15;
}

.printx-single-service-grid span {
    grid-area: text;
    color: #60738d;
    font-size: 12px;
    line-height: 1.4;
}

.printx-single-actions {
    display: grid;
    grid-template-columns: 1.08fr .92fr .92fr;
    gap: 9px;
    margin-top: 14px;
    padding: 8px;
    border: 1px solid rgba(215, 228, 242, .92);
    border-radius: 14px;
    background: #ffffff;
}

.printx-single-actions .button {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 46px;
    margin: 0;
    padding: 9px 12px;
    border: 0 !important;
    border-radius: 8px;
    color: #ffffff !important;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.1;
    text-align: center;
    text-transform: uppercase;
    white-space: nowrap;
    box-shadow: 0 10px 20px rgba(15, 23, 42, .07);
}

.printx-single-actions .button::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -12px;
    width: 54px;
    height: 54px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .22);
    transform: translateY(-50%);
    z-index: 0;
}

.printx-single-actions .button i {
    display: inline-grid;
    flex: 0 0 auto;
    place-items: center;
    width: 25px;
    height: 25px;
    border-radius: 999px;
    color: inherit !important;
    background: rgba(255, 255, 255, .24);
    font-size: 13px;
}

.printx-single-actions .button span {
    overflow: hidden;
    color: inherit !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.printx-single-actions .button i,
.printx-single-actions .button span {
    position: relative;
    z-index: 1;
}

.printx-single-actions .printx-button {
    background: linear-gradient(135deg, #0877ff 0%, #0877ff 70%, #3f91ee 70%, #3f91ee 100%) !important;
}

.printx-single-actions .printx-single-call {
    color: #101928 !important;
    background: linear-gradient(135deg, #ffd600 0%, #ffd600 70%, #ffcc43 70%, #ffcc43 100%) !important;
}

.printx-single-actions .printx-single-call i {
    color: #0088c8 !important;
    background: rgba(255, 255, 255, .48);
}

.printx-single-actions .printx-single-quote-open {
    background: linear-gradient(135deg, #35c4b5 0%, #35c4b5 70%, #49bfb4 70%, #49bfb4 100%) !important;
}

.printx-single-cart {
    margin-top: 14px;
    padding: 16px;
    border: 1px solid rgba(210, 225, 241, .95);
    border-radius: 12px;
    background: #f7fbff;
}

.printx-single-cart form.cart {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.printx-single-cart .quantity input,
.printx-single-cart .single_add_to_cart_button {
    min-height: 42px;
    border-radius: 8px;
}

.printx-single-content,
.printx-single-section {
    margin-top: 24px;
    padding: 24px;
}

.printx-single-content {
    position: relative;
    overflow: hidden;
    text-align: center;
}

.printx-single-content-body {
    position: relative;
    max-height: 560px;
    overflow: hidden;
    transition: max-height .28s ease;
}

.printx-single-content:not(.is-expanded) .printx-single-content-body::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 96px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0), #ffffff 78%);
    pointer-events: none;
}

.printx-single-content.is-expanded .printx-single-content-body,
.printx-single-content.is-short .printx-single-content-body {
    max-height: none;
}

.printx-single-content .woocommerce-tabs {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: left;
}

.printx-single-content .woocommerce-tabs::before,
.printx-single-content .woocommerce-tabs::after,
.printx-single-content .woocommerce-tabs .tabs::before,
.printx-single-content .woocommerce-tabs .tabs::after,
.printx-single-content .woocommerce-tabs .tabs li::before,
.printx-single-content .woocommerce-tabs .tabs li::after,
.printx-single-content .woocommerce-tabs .tabs a::before,
.printx-single-content .woocommerce-tabs .tabs a::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
}

.printx-single-content .woocommerce-tabs .tabs {
    display: inline-flex;
    gap: 5px;
    width: auto;
    margin: 0 0 20px !important;
    padding: 5px !important;
    border: 1px solid rgba(207, 224, 241, .95) !important;
    border-radius: 999px !important;
    background: #f4f9ff !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .04);
    vertical-align: top;
}

.printx-single-content .woocommerce-tabs .tabs li,
.printx-single-content .woocommerce-tabs .tabs li.active {
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.printx-single-content .woocommerce-tabs .tabs a {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 7px 15px;
    border-radius: 999px !important;
    color: #152c60 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 12px;
    font-weight: 900;
}

.printx-single-content .woocommerce-tabs .tabs .active a {
    color: #ffffff !important;
    background: linear-gradient(135deg, #0088c8, #152c60) !important;
    box-shadow: 0 8px 18px rgba(0, 136, 200, .16) !important;
}

.printx-single-content .woocommerce-tabs .panel {
    max-width: 860px;
    margin: 0 auto;
    color: #334966;
    font-size: 15px;
    line-height: 1.76;
    text-align: left;
}

.printx-single-content .woocommerce-tabs .panel > *:first-child {
    margin-top: 0;
}

.printx-single-content .woocommerce-tabs .panel img {
    display: block;
    max-width: min(720px, 100%);
    height: auto;
    margin: 22px auto;
    border-radius: 8px;
}

.printx-product-readmore {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: max-content;
    min-height: 32px;
    margin: 14px auto 0;
    padding: 6px 13px;
    border: 1px solid rgba(0, 136, 200, .24);
    border-radius: 999px;
    color: #152c60 !important;
    background: #eef8ff;
    box-shadow: 0 8px 18px rgba(0, 136, 200, .07);
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.printx-product-readmore:hover {
    color: #ffffff !important;
    background: #0088c8;
}

.printx-single-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.printx-single-section-head h2,
.printx-single-depth h2,
.printx-single-faq h2,
.printx-single-related-products h2 {
    margin: 8px 0 0;
    color: #152c60;
    font-size: clamp(24px, 2.4vw, 34px);
    line-height: 1.2;
}

.printx-single-section-head a {
    color: #ff5722;
    font-weight: 900;
}

.printx-single-depth-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .42fr);
    gap: 18px;
}

.printx-single-depth-grid article,
.printx-single-depth-grid aside,
.printx-single-faq details,
.printx-single-article-grid article {
    border: 1px solid rgba(210, 225, 241, .95);
    border-radius: 12px;
    background: #f8fbff;
}

.printx-single-depth-grid article,
.printx-single-depth-grid aside {
    padding: 20px;
}

.printx-single-depth-grid ul {
    display: grid;
    gap: 10px;
    margin: 16px 0 0;
    padding: 0;
    list-style: none;
}

.printx-single-depth-grid li {
    position: relative;
    padding-left: 20px;
    color: #425b78;
    line-height: 1.6;
}

.printx-single-depth-grid li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .7em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #ff5722;
}

.printx-single-depth-grid aside {
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #ffffff;
    background: linear-gradient(145deg, #0088c8, #152c60);
}

.printx-single-depth-grid aside span {
    color: #fed33b;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
}

.printx-single-depth-grid aside strong {
    display: block;
    margin: 10px 0 16px;
    color: #ffffff;
    font-size: 22px;
    line-height: 1.25;
}

.printx-single-depth-grid aside .button {
    align-self: flex-start;
    margin: 0;
}

.printx-single-faq {
    margin-top: 20px;
}

.printx-single-faq > div {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.printx-single-faq details {
    padding: 15px 18px;
}

.printx-single-faq summary {
    cursor: pointer;
    color: #152c60;
    font-weight: 900;
}

.printx-single-faq p {
    margin: 10px 0 0;
    color: #536987;
    line-height: 1.6;
}

.printx-single-related-products .related,
.printx-single-related-products .products {
    margin-bottom: 0;
}

.printx-single-article-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.printx-single-article-grid article {
    overflow: hidden;
    background: #ffffff;
}

.printx-single-article-thumb {
    display: grid;
    place-items: center;
    min-height: 150px;
    background: linear-gradient(135deg, rgba(0, 136, 200, .12), rgba(255, 87, 34, .1)), #eef7ff;
}

.printx-single-article-thumb img {
    width: 100%;
    height: 150px;
    object-fit: cover;
}

.printx-single-article-thumb span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    border-radius: 16px;
    color: #152c60;
    background: #ffffff;
    font-weight: 950;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
}

.printx-single-article-grid article > div {
    padding: 15px;
}

.printx-single-article-grid article > div > span {
    color: #ff5722;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.printx-single-article-grid h3 {
    margin: 8px 0;
    color: #152c60;
    font-size: 18px;
    line-height: 1.25;
}

.printx-single-article-grid h3 a {
    color: inherit;
}

.printx-single-article-grid p {
    margin: 0;
    color: #536987;
    font-size: 13px;
    line-height: 1.55;
}

.printx-home,
.printx-home .entry-content,
.printx-home .page-inner,
.printx-home .section:has(.printx-hero-fullbleed),
.printx-home .section-content:has(.printx-hero-fullbleed),
.printx-home .row:has(.printx-hero-fullbleed),
.printx-home .col:has(.printx-hero-fullbleed),
.printx-home .col-inner:has(.printx-hero-fullbleed),
.printx-home .slider-wrapper:has(.printx-hero-fullbleed),
.printx-home .flickity-viewport:has(.printx-hero-fullbleed),
.printx-home .flickity-slider:has(.printx-hero-fullbleed) {
    max-width: none !important;
    overflow: visible !important;
}

.printx-home .section:has(.printx-hero-fullbleed),
.printx-home .section-content:has(.printx-hero-fullbleed),
.printx-home .row:has(.printx-hero-fullbleed),
.printx-home .col:has(.printx-hero-fullbleed),
.printx-home .col-inner:has(.printx-hero-fullbleed) {
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body .printx-hero,
body .printx-hero-fullbleed {
    left: 50% !important;
    right: auto !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: -50vw !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border-radius: 0;
    overflow: hidden !important;
    transform: none !important;
}

body .printx-hero-fullbleed > .printx-container,
body .printx-hero-fullbleed .printx-hero-inner {
    width: min(1180px, calc(100vw - 48px)) !important;
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body .printx-hero-fullbleed::after {
    right: max(24px, calc((100vw - 1180px) / 2)) !important;
}

.printx-home .flickity-prev-next-button,
.printx-home .slider-nav-circle .flickity-prev-next-button {
    display: grid !important;
    place-items: center;
    width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    border: 1px solid rgba(255, 255, 255, .72) !important;
    border-radius: 999px !important;
    color: #152c60 !important;
    background: rgba(255, 255, 255, .78) !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .12) !important;
    opacity: .86 !important;
    transform: translateY(-50%) !important;
}

.printx-home .flickity-prev-next-button:hover,
.printx-home .slider-nav-circle .flickity-prev-next-button:hover {
    opacity: 1 !important;
    background: #ffffff !important;
    transform: translateY(-50%) scale(1.04) !important;
}

.printx-home .flickity-prev-next-button.previous,
.printx-home .slider-nav-circle .flickity-prev-next-button.previous {
    left: 18px !important;
}

.printx-home .flickity-prev-next-button.next,
.printx-home .slider-nav-circle .flickity-prev-next-button.next {
    right: 18px !important;
}

.printx-home .flickity-button-icon {
    display: block !important;
    width: 42% !important;
    height: 42% !important;
    fill: currentColor !important;
}

.printx-home .flickity-prev-next-button::before,
.printx-home .slider-nav-circle .flickity-prev-next-button::before {
    content: none !important;
}

.printx-home .flickity-page-dots {
    bottom: 14px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.printx-home .flickity-page-dots .dot {
    flex: 0 0 28px;
    width: 28px !important;
    height: 4px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    background: rgba(21, 44, 96, .24) !important;
    opacity: 1 !important;
    box-shadow: none !important;
}

.printx-home .flickity-page-dots .dot.is-selected,
.printx-home .flickity-page-dots .dot[aria-current="step"] {
    flex-basis: 42px;
    width: 42px !important;
    background: linear-gradient(90deg, #0088c8, #ff5722) !important;
}

@media (max-width: 1099px) {
    .printx-single-top,
    .printx-single-depth-grid {
        grid-template-columns: 1fr;
    }

    .printx-single-gallery {
        position: static;
    }
}

@media (max-width: 849px) {
    .printx-single-product {
        padding: 18px 0 46px;
    }

    .printx-single-product .printx-container {
        width: min(100% - 24px, 1220px);
    }

    .printx-single-summary,
    .printx-single-content,
    .printx-single-section {
        padding: 16px;
    }

    .printx-single-spec-card dl > div,
    .printx-single-service-grid,
    .printx-single-actions,
    .printx-single-article-grid {
        grid-template-columns: 1fr;
    }

    .printx-single-actions .button {
        min-height: 44px;
    }

    .printx-single-content-body {
        max-height: 520px;
    }

    .printx-single-section-head {
        align-items: flex-start;
        flex-direction: column;
    }

    body .printx-hero-fullbleed > .printx-container,
    body .printx-hero-fullbleed .printx-hero-inner {
        width: min(100vw - 24px, 1180px) !important;
    }

    .printx-home .flickity-prev-next-button,
    .printx-home .slider-nav-circle .flickity-prev-next-button {
        width: 30px !important;
        height: 30px !important;
        min-height: 30px !important;
    }

    .printx-home .flickity-page-dots {
        bottom: 8px !important;
    }
}
/* 1.7.93 visual guard after order-preserved consolidation. */
.printx-header-actions {
    align-items: center;
}

.printx-header-order-lookup,
.printx-header-shop,
.printx-header-cart {
    display: inline-grid !important;
    place-items: center;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    overflow: visible;
    border-radius: 999px !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: 0;
    white-space: nowrap;
}

.printx-header-order-lookup span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.printx-header-order-lookup i,
.printx-header-shop::before,
.printx-header-cart::before {
    display: block;
    font-size: 17px !important;
    line-height: 1 !important;
    text-indent: 0;
}

.printx-header-cart span {
    position: absolute !important;
    top: -4px !important;
    right: -4px !important;
    display: grid !important;
    place-items: center;
    min-width: 18px !important;
    height: 18px !important;
    padding: 0 4px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: #0284c7 !important;
    font-size: 11px !important;
    line-height: 1 !important;
}

.printx-section-head-row {
    align-items: end;
}

.printx-section-head-row > p {
    max-width: 520px;
    margin: 0;
}

.printx-industry-grid,
.printx-service-grid,
.printx-material-grid {
    display: grid;
}

.printx-industry-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.printx-service-grid,
.printx-material-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.printx-material-grid article {
    display: grid;
    align-content: start;
    gap: 10px;
}

.printx-material-grid h3 {
    display: block;
    margin: 0;
    color: #152c60 !important;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.25;
}

.printx-material-grid p {
    margin: 0;
    color: #425674 !important;
}

@media (max-width: 849px) {
    .printx-industry-grid,
    .printx-service-grid,
    .printx-material-grid {
        grid-template-columns: 1fr;
    }
}

/* 1.7.94: hide broken Flatsome/Woo helper images and center header action icons. */
.printx-shop-showcase .box-image img[alt="Link"],
.printx-shop-showcase .box-image img[src=""],
.printx-shop-showcase .box-image img:not([src]) {
    display: none !important;
}

.printx-shop-showcase .box-image a:has(img[alt="Link"]),
.printx-shop-showcase .box-image a:has(img[src=""]),
.printx-shop-showcase .box-image a:has(img:not([src])) {
    display: none !important;
}

.printx-header-order-lookup,
.printx-header-shop,
.printx-header-cart {
    align-self: center;
    vertical-align: middle;
}

.printx-header-order-lookup i,
.printx-header-shop::before,
.printx-header-cart::before {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    line-height: 44px !important;
    transform: none !important;
}

/* 1.7.95: clean product loop helpers, sale badge and header icon labels. */
.printx-shop-showcase .product-small .box-image a {
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
}

.printx-shop-showcase .product-small .box-image .image-tools,
.printx-shop-showcase .product-small .box-image .grid-tools,
.printx-shop-showcase .product-small .box-image .quick-view,
.printx-shop-showcase .product-small .box-image .back-image,
.printx-shop-showcase .product-small img[alt="Link"],
.printx-shop-showcase .product-small a:has(> img[alt="Link"]),
.printx-shop-showcase .product-small .box-text > a:not([class]),
.printx-shop-showcase .product-small .box-text > img[alt="Link"],
.printx-shop-showcase .product-small .box-image img[alt="Link"],
.printx-shop-showcase .product-small .box-image img[src=""],
.printx-shop-showcase .product-small .box-image img:not([src]),
.printx-shop-showcase .product-small .box-image a:not(:first-child) {
    display: none !important;
}

.printx-shop-showcase .product-small .box-image a > img:first-child {
    display: block !important;
}

.printx-shop-showcase .badge-container {
    top: 12px;
    right: 12px;
    left: auto;
    margin: 0;
}

.printx-shop-showcase .badge,
.printx-shop-showcase .badge-inner,
.printx-shop-showcase .onsale {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    border-radius: 999px !important;
}

.printx-shop-showcase .badge-inner,
.printx-shop-showcase .onsale {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 7px 12px !important;
    border: 2px solid rgba(255, 255, 255, .82) !important;
    color: #fff !important;
    background: linear-gradient(135deg, #ff6a2a 0%, #f25a22 48%, #dd3b18 100%) !important;
    box-shadow: 0 12px 24px rgba(221, 59, 24, .24);
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0;
    text-transform: none;
    transform: rotate(-3deg);
}

.printx-header-actions {
    isolation: isolate;
}

.printx-header-search-form::after,
.printx-header-order-lookup::after,
.printx-header-shop::after,
.printx-header-cart::after {
    position: absolute;
    left: 50%;
    top: calc(100% + 9px);
    z-index: 30;
    display: block;
    width: max-content;
    max-width: 180px;
    padding: 7px 10px;
    border-radius: 8px;
    color: #fff;
    background: #152c60;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .18);
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    text-indent: 0;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate(-50%, -4px);
    transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}

.printx-header-search-form::after {
    content: "T\00EC m ki\1EBF m";
}

.printx-header-order-lookup::after {
    content: "Tra c\1EE9 u \0111\01A1 n";
}

.printx-header-shop::after {
    content: "S\1EA3 n ph\1EA9 m in";
}

.printx-header-cart::after {
    content: "Gi\1ECF\20 h\00E0 ng";
}

.printx-header-search-form:hover::after,
.printx-header-search-form:focus-within::after,
.printx-header-order-lookup:hover::after,
.printx-header-order-lookup:focus-visible::after,
.printx-header-shop:hover::after,
.printx-header-shop:focus-visible::after,
.printx-header-cart:hover::after,
.printx-header-cart:focus-visible::after {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}

.printx-header-search-form.has-value::after,
.printx-header-search-form.is-expanded::after {
    display: none;
}

/* 1.7.96: cart page polish and stable service section layout. */
.printx-services {
    overflow: hidden;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}

.printx-services .printx-section-head-row {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(280px, .72fr);
    gap: 56px;
    align-items: end;
    margin-bottom: 34px;
}

.printx-services .printx-section-head-row h2 {
    max-width: 760px;
    margin: 16px 0 0;
    color: #172a63;
    font-size: clamp(34px, 3.7vw, 52px);
    line-height: 1.08;
    letter-spacing: 0;
    text-wrap: balance;
}

.printx-services .printx-section-head-row > p {
    max-width: 430px;
    color: #516787;
    font-size: 16px;
    line-height: 1.65;
}

.printx-services .printx-service-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0;
    overflow: hidden;
    border: 1px solid rgba(207, 224, 241, .95);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 20px 50px rgba(15, 23, 42, .04);
}

.printx-services .printx-service {
    min-height: 286px;
    padding: 32px 34px;
    border: 0;
    border-right: 1px solid rgba(207, 224, 241, .72);
    border-bottom: 1px solid rgba(207, 224, 241, .72);
    background: #ffffff;
    transform: none !important;
}

.printx-services .printx-service:nth-child(2n) {
    border-right: 0;
}

.printx-services .printx-service:nth-last-child(-n + 2) {
    border-bottom: 0;
}

.printx-services .printx-service::before {
    left: 34px;
    top: 0;
    width: 58px;
    height: 4px;
    border-radius: 0 0 999px 999px;
}

.printx-services .printx-service-meta {
    margin-bottom: 34px;
}

.printx-services .printx-service h3 {
    margin-bottom: 12px;
    color: #172a63;
    font-size: 24px;
    line-height: 1.18;
}

.printx-services .printx-service p {
    color: #536987;
    font-size: 16px;
    line-height: 1.68;
}

.printx-services .printx-service a {
    align-self: end;
    margin-top: 22px;
}

.woocommerce-cart .printx-site-main,
.woocommerce-checkout .printx-site-main {
    background:
        linear-gradient(180deg, rgba(238, 249, 255, .72), rgba(255, 255, 255, 0) 220px),
        #ffffff;
}

.woocommerce-cart .printx-site-main > .woocommerce,
.woocommerce-cart .printx-site-main > .cart-container,
.woocommerce-cart .entry-content > .woocommerce {
    width: min(1180px, calc(100vw - 48px));
    margin: 42px auto 72px;
}

.woocommerce-cart .woocommerce {
    color: #172a63;
}

.woocommerce-cart .woocommerce > form.woocommerce-cart-form,
.woocommerce-cart .woocommerce > .cart-collaterals {
    min-width: 0;
}

.woocommerce-cart .woocommerce > form.woocommerce-cart-form {
    float: none;
    width: min(760px, 100%);
}

.woocommerce-cart .cart-collaterals {
    float: none;
    width: min(380px, 100%);
    margin-left: auto;
}

.woocommerce-cart .woocommerce {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
    gap: 32px;
    align-items: start;
}

.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-error,
.woocommerce-cart .woocommerce-info {
    grid-column: 1 / -1;
}

.woocommerce-cart table.shop_table {
    overflow: hidden;
    border: 1px solid rgba(207, 224, 241, .95);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 18px 44px rgba(15, 23, 42, .045);
}

.woocommerce-cart table.shop_table th {
    padding: 18px 20px;
    border-bottom: 1px solid #e4edf7;
    color: #172a63;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.2;
    text-transform: uppercase;
    white-space: nowrap;
}

.woocommerce-cart table.shop_table td {
    padding: 18px 20px;
    border-bottom: 1px solid #edf3fa;
    color: #334766;
    vertical-align: middle;
}

.woocommerce-cart table.shop_table tr:last-child td {
    border-bottom: 0;
}

.woocommerce-cart .product-remove {
    width: 44px;
    text-align: center;
}

.woocommerce-cart .product-remove a.remove {
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border: 1px solid #dce8f5;
    border-radius: 999px;
    color: #9aa8ba !important;
    background: #fff;
    font-size: 20px;
    line-height: 1;
}

.woocommerce-cart .product-remove a.remove:hover {
    color: #fff !important;
    background: #f25a22;
}

.woocommerce-cart .product-thumbnail img {
    width: 72px;
    height: 72px;
    border-radius: 8px;
    object-fit: cover;
    background: #f6f8fb;
}

.woocommerce-cart .product-name a {
    color: #172a63;
    font-weight: 900;
}

.woocommerce-cart .product-price,
.woocommerce-cart .product-subtotal,
.woocommerce-cart .cart_totals .amount {
    color: #f25a22;
    font-weight: 900;
}

.woocommerce-cart .quantity input.qty {
    width: 72px;
    height: 40px;
    border: 1px solid #dce8f5;
    border-radius: 8px;
    color: #172a63;
    font-weight: 800;
    text-align: center;
}

.woocommerce-cart .actions {
    padding: 20px !important;
    background: #fbfdff;
}

.woocommerce-cart .actions .button,
.woocommerce-cart .wc-proceed-to-checkout .button,
.woocommerce-cart .coupon .button {
    min-height: 46px;
    border-radius: 8px !important;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.woocommerce-cart .actions .button[name="update_cart"] {
    color: #fff !important;
    background: #8fa1b8 !important;
}

.woocommerce-cart .actions .button:not([name="update_cart"]) {
    color: #172a63 !important;
    border: 1px solid #172a63 !important;
    background: #fff !important;
}

.woocommerce-cart .cart-collaterals .cart_totals {
    float: none;
    width: 100%;
    padding: 24px;
    border: 1px solid rgba(207, 224, 241, .95);
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 20px 50px rgba(15, 23, 42, .06);
}

.woocommerce-cart .cart_totals h2 {
    margin: 0 0 18px;
    padding: 0 0 14px;
    border-bottom: 1px solid #e4edf7;
    color: #172a63;
    font-size: 20px;
    line-height: 1.2;
}

.woocommerce-cart .cart_totals table {
    margin: 0 0 20px;
    border: 0;
}

.woocommerce-cart .cart_totals th,
.woocommerce-cart .cart_totals td {
    padding: 11px 0;
    border-bottom: 1px solid #edf3fa;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    color: #fff !important;
    background: linear-gradient(135deg, #ff6a2a, #f25a22) !important;
    box-shadow: 0 14px 28px rgba(242, 90, 34, .22);
}

.woocommerce-cart .coupon {
    display: grid;
    gap: 10px;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid #e4edf7;
}

.woocommerce-cart .coupon label {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #172a63;
    font-weight: 900;
}

.woocommerce-cart .coupon input.input-text {
    width: 100% !important;
    height: 44px;
    margin: 0;
    border: 1px solid #dce8f5;
    border-radius: 8px;
    box-shadow: none;
}

.woocommerce-cart .coupon .button {
    width: 100%;
    color: #172a63 !important;
    border: 1px solid #dce8f5 !important;
    background: #f6f8fb !important;
}

@media (max-width: 1020px) {
    .woocommerce-cart .woocommerce {
        grid-template-columns: 1fr;
    }

    .woocommerce-cart .woocommerce > form.woocommerce-cart-form,
    .woocommerce-cart .cart-collaterals {
        width: 100%;
    }
}

@media (max-width: 849px) {
    .printx-services .printx-section-head-row {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .printx-services .printx-service-grid {
        grid-template-columns: 1fr !important;
    }

    .printx-services .printx-service,
    .printx-services .printx-service:nth-child(2n),
    .printx-services .printx-service:nth-last-child(-n + 2) {
        border-right: 0;
        border-bottom: 1px solid rgba(207, 224, 241, .72);
    }

    .printx-services .printx-service:last-child {
        border-bottom: 0;
    }
}

@media (max-width: 640px) {
    .woocommerce-cart .printx-site-main > .woocommerce,
    .woocommerce-cart .entry-content > .woocommerce {
        width: min(100vw - 24px, 1180px);
        margin-top: 28px;
    }

    .woocommerce-cart table.shop_table th,
    .woocommerce-cart table.shop_table td {
        padding: 14px 12px;
    }
}

/* 1.7.97: undo cart grid overlap and restore services to the previous 4-card row. */
.printx-services .printx-section-head-row {
    display: grid;
    grid-template-columns: minmax(0, .72fr) minmax(280px, .42fr);
    gap: 54px;
    align-items: end;
    margin-bottom: 38px;
}

.printx-services .printx-section-head-row h2 {
    max-width: 720px;
}

.printx-services .printx-service-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    overflow: hidden;
    border: 1px solid rgba(207, 224, 241, .95);
    border-radius: 8px;
    background: #ffffff;
}

.printx-services .printx-service,
.printx-services .printx-service:nth-child(2n),
.printx-services .printx-service:nth-last-child(-n + 2) {
    min-height: 286px;
    padding: 32px 28px;
    border-right: 1px solid rgba(207, 224, 241, .72);
    border-bottom: 0;
    background: #fff;
}

.printx-services .printx-service:last-child {
    border-right: 0;
}

.woocommerce-cart .printx-site-main > .woocommerce,
.woocommerce-cart .entry-content > .woocommerce,
.woocommerce-cart .woocommerce {
    display: block !important;
    width: min(1180px, calc(100vw - 48px));
    max-width: 1180px;
    margin: 42px auto 72px;
}

.woocommerce-cart .woocommerce > form.woocommerce-cart-form,
.woocommerce-cart form.woocommerce-cart-form {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 24px !important;
}

.woocommerce-cart .cart-collaterals {
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: none !important;
    margin: 24px 0 0 !important;
}

.woocommerce-cart .cart-collaterals::before,
.woocommerce-cart .cart-collaterals::after {
    content: "";
    display: table;
    clear: both;
}

.woocommerce-cart .cart-collaterals .cart_totals {
    float: none !important;
    width: min(420px, 100%) !important;
    max-width: 420px !important;
    margin-left: auto !important;
    position: static !important;
}

.woocommerce-cart table.shop_table {
    width: 100% !important;
    table-layout: auto;
    border-collapse: separate;
    border-spacing: 0;
}

.woocommerce-cart table.shop_table thead th,
.woocommerce-cart table.shop_table tbody td {
    position: static !important;
}

.woocommerce-cart table.shop_table .product-name {
    width: auto;
}

.woocommerce-cart table.shop_table .product-price,
.woocommerce-cart table.shop_table .product-quantity,
.woocommerce-cart table.shop_table .product-subtotal {
    width: 130px;
    text-align: center;
}

.woocommerce-cart table.shop_table .product-thumbnail {
    width: 92px;
}

.woocommerce-cart table.shop_table .actions {
    clear: both;
}

.woocommerce-cart table.shop_table .actions > .button,
.woocommerce-cart table.shop_table .actions .coupon {
    position: static !important;
}

.woocommerce-cart .coupon {
    max-width: 360px;
}

@media (max-width: 1020px) {
    .printx-services .printx-section-head-row {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .printx-services .printx-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .printx-services .printx-service:nth-child(2n) {
        border-right: 0;
    }

    .printx-services .printx-service:nth-last-child(n + 3) {
        border-bottom: 1px solid rgba(207, 224, 241, .72);
    }
}

@media (max-width: 640px) {
    .printx-services .printx-service-grid {
        grid-template-columns: 1fr !important;
    }

    .printx-services .printx-service,
    .printx-services .printx-service:nth-child(2n),
    .printx-services .printx-service:nth-last-child(-n + 2) {
        border-right: 0;
        border-bottom: 1px solid rgba(207, 224, 241, .72);
    }

    .printx-services .printx-service:last-child {
        border-bottom: 0;
    }

    .woocommerce-cart .printx-site-main > .woocommerce,
    .woocommerce-cart .entry-content > .woocommerce,
    .woocommerce-cart .woocommerce {
        width: min(100vw - 24px, 1180px);
    }

    .woocommerce-cart table.shop_table .product-price,
    .woocommerce-cart table.shop_table .product-quantity,
    .woocommerce-cart table.shop_table .product-subtotal {
        width: auto;
    }
}

/* 1.7.98: rebuild cart as stable cards instead of relying on the default Woo table layout. */
.woocommerce-cart .printx-site-main {
    background:
        linear-gradient(180deg, #eef9ff 0, #ffffff 210px),
        #ffffff;
}

.woocommerce-cart .printx-site-main > .woocommerce,
.woocommerce-cart .entry-content > .woocommerce,
.woocommerce-cart .woocommerce {
    width: min(1120px, calc(100vw - 48px)) !important;
    max-width: 1120px !important;
    margin: 42px auto 72px !important;
    color: #172a63;
}

.woocommerce-cart form.woocommerce-cart-form {
    width: 100% !important;
    margin: 0 !important;
}

.woocommerce-cart table.shop_table.cart {
    display: block !important;
    width: 100% !important;
    overflow: hidden !important;
    border: 1px solid rgba(207, 224, 241, .95) !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-shadow: 0 24px 60px rgba(15, 23, 42, .055) !important;
}

.woocommerce-cart table.shop_table.cart thead {
    display: none !important;
}

.woocommerce-cart table.shop_table.cart tbody,
.woocommerce-cart table.shop_table.cart tfoot {
    display: block !important;
    width: 100% !important;
}

.woocommerce-cart table.shop_table.cart tr.cart_item {
    display: grid !important;
    grid-template-columns: 38px 86px minmax(0, 1fr) 118px 132px 118px;
    gap: 18px;
    align-items: center;
    width: 100% !important;
    padding: 22px !important;
    border-bottom: 1px solid #edf3fa !important;
    background: #fff;
}

.woocommerce-cart table.shop_table.cart td {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    vertical-align: middle !important;
}

.woocommerce-cart table.shop_table.cart td::before {
    display: none !important;
}

.woocommerce-cart .product-remove {
    text-align: center;
}

.woocommerce-cart .product-thumbnail img {
    display: block;
    width: 74px !important;
    height: 74px !important;
    border-radius: 10px;
    object-fit: cover;
}

.woocommerce-cart .product-name {
    display: grid !important;
    gap: 12px;
}

.woocommerce-cart .product-name > a {
    color: #172a63 !important;
    font-size: 15px;
    font-weight: 900;
    line-height: 1.3;
}

.woocommerce-cart .product-name dl,
.woocommerce-cart .product-name .variation {
    display: grid;
    gap: 5px;
    margin: 0;
    color: #667891;
    font-size: 13px;
}

.woocommerce-cart .product-name * {
    max-width: 100%;
}

.woocommerce-cart .product-name input,
.woocommerce-cart .product-name textarea,
.woocommerce-cart .product-name select,
.woocommerce-cart .product-name iframe,
.woocommerce-cart .product-name .wcuf_upload_field,
.woocommerce-cart .product-name .wcuf_file_uploads_container,
.woocommerce-cart .product-name [class*="upload"] {
    max-width: min(100%, 420px) !important;
}

.woocommerce-cart .product-price,
.woocommerce-cart .product-quantity,
.woocommerce-cart .product-subtotal {
    text-align: center !important;
}

.woocommerce-cart .product-price::before,
.woocommerce-cart .product-quantity::before,
.woocommerce-cart .product-subtotal::before {
    display: block !important;
    margin-bottom: 8px;
    color: #91a0b4;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .02em;
    line-height: 1;
    text-transform: uppercase;
}

.woocommerce-cart .product-price::before {
    content: "Giá";
}

.woocommerce-cart .product-quantity::before {
    content: "Số lượng";
}

.woocommerce-cart .product-subtotal::before {
    content: "Tạm tính";
}

.woocommerce-cart table.shop_table.cart tr:last-child,
.woocommerce-cart table.shop_table.cart tr:has(td.actions) {
    display: block !important;
    padding: 0 !important;
    border: 0 !important;
}

.woocommerce-cart table.shop_table.cart td.actions {
    display: grid !important;
    grid-template-columns: minmax(260px, 360px) 1fr auto;
    gap: 14px;
    align-items: end;
    padding: 20px 22px !important;
    border-top: 1px solid #edf3fa !important;
    background: #f8fbff !important;
}

.woocommerce-cart table.shop_table.cart td.actions .coupon {
    display: grid !important;
    grid-template-columns: 1fr auto;
    grid-column: 1 / 2;
    gap: 8px;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.woocommerce-cart table.shop_table.cart td.actions .coupon label {
    grid-column: 1 / -1;
    margin: 0;
}

.woocommerce-cart table.shop_table.cart td.actions .coupon input.input-text {
    width: 100% !important;
    height: 42px !important;
}

.woocommerce-cart table.shop_table.cart td.actions > .button {
    grid-column: 3 / 4;
    min-width: 170px;
}

.woocommerce-cart .cart-collaterals {
    display: flex !important;
    justify-content: flex-end;
    width: 100% !important;
    margin: 24px 0 0 !important;
}

.woocommerce-cart .cart-collaterals .cart_totals {
    width: min(420px, 100%) !important;
    max-width: 420px !important;
    margin: 0 !important;
}

@media (max-width: 980px) {
    .woocommerce-cart table.shop_table.cart tr.cart_item {
        grid-template-columns: 34px 72px minmax(0, 1fr);
    }

    .woocommerce-cart .product-price,
    .woocommerce-cart .product-quantity,
    .woocommerce-cart .product-subtotal {
        grid-column: 3 / 4;
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
        padding-top: 8px !important;
        text-align: right !important;
    }

    .woocommerce-cart .product-price::before,
    .woocommerce-cart .product-quantity::before,
    .woocommerce-cart .product-subtotal::before {
        margin: 0;
    }
}

@media (max-width: 700px) {
    .woocommerce-cart .printx-site-main > .woocommerce,
    .woocommerce-cart .entry-content > .woocommerce,
    .woocommerce-cart .woocommerce {
        width: min(100vw - 24px, 1120px) !important;
    }

    .woocommerce-cart table.shop_table.cart tr.cart_item {
        grid-template-columns: 30px 64px minmax(0, 1fr);
        gap: 12px;
        padding: 16px !important;
    }

    .woocommerce-cart table.shop_table.cart td.actions,
    .woocommerce-cart table.shop_table.cart td.actions .coupon {
        grid-template-columns: 1fr !important;
    }

    .woocommerce-cart table.shop_table.cart td.actions > .button {
        grid-column: auto;
        width: 100%;
    }

    .woocommerce-cart .cart-collaterals {
        justify-content: stretch;
    }

    .woocommerce-cart .cart-collaterals .cart_totals {
        max-width: none !important;
    }
}

.woocommerce-cart .product-price::before {
    content: "Gi\00e1";
}

.woocommerce-cart .product-quantity::before {
    content: "S\1ed1  l\01b0\1ee3ng";
}

.woocommerce-cart .product-subtotal::before {
    content: "T\1ea1m t\00ednh";
}

/* 1.7.99: restore Woo/Flatsome cart table flow and only keep light PrintX polish. */
.woocommerce-cart .printx-site-main {
    background:
        linear-gradient(180deg, rgba(235, 248, 255, .9) 0, rgba(255, 255, 255, 0) 230px),
        #ffffff;
}

.woocommerce-cart .printx-site-main > .woocommerce,
.woocommerce-cart .entry-content > .woocommerce,
.woocommerce-cart .woocommerce {
    display: block !important;
    width: min(1180px, calc(100vw - 48px)) !important;
    max-width: 1180px !important;
    margin: 42px auto 72px !important;
    color: #172a63;
}

.woocommerce-cart form.woocommerce-cart-form {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 24px !important;
}

.woocommerce-cart table.shop_table.cart {
    display: table !important;
    width: 100% !important;
    table-layout: auto !important;
    overflow: visible !important;
    border: 1px solid rgba(207, 224, 241, .95) !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-shadow: 0 22px 56px rgba(15, 23, 42, .055) !important;
}

.woocommerce-cart table.shop_table.cart thead {
    display: table-header-group !important;
}

.woocommerce-cart table.shop_table.cart tbody,
.woocommerce-cart table.shop_table.cart tfoot {
    display: table-row-group !important;
    width: auto !important;
}

.woocommerce-cart table.shop_table.cart tr,
.woocommerce-cart table.shop_table.cart tr.cart_item,
.woocommerce-cart table.shop_table.cart tr:last-child,
.woocommerce-cart table.shop_table.cart tr:has(td.actions) {
    display: table-row !important;
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.woocommerce-cart table.shop_table.cart th,
.woocommerce-cart table.shop_table.cart td {
    display: table-cell !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 18px 16px !important;
    border: 0 !important;
    border-bottom: 1px solid #edf3fa !important;
    background: transparent !important;
    color: #334766;
    text-align: left !important;
    vertical-align: middle !important;
}

.woocommerce-cart table.shop_table.cart th {
    color: #172a63;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .02em;
    text-transform: uppercase;
    white-space: nowrap;
}

.woocommerce-cart table.shop_table.cart td::before,
.woocommerce-cart table.shop_table.cart .product-price::before,
.woocommerce-cart table.shop_table.cart .product-quantity::before,
.woocommerce-cart table.shop_table.cart .product-subtotal::before {
    content: none !important;
    display: none !important;
}

.woocommerce-cart table.shop_table.cart .product-remove {
    width: 44px !important;
    padding-left: 18px !important;
    padding-right: 8px !important;
    text-align: center !important;
}

.woocommerce-cart table.shop_table.cart .product-thumbnail {
    width: 88px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
}

.woocommerce-cart table.shop_table.cart .product-thumbnail img {
    display: block !important;
    width: 68px !important;
    height: 68px !important;
    border-radius: 10px;
    object-fit: cover;
    background: #f6f8fb;
}

.woocommerce-cart table.shop_table.cart .product-name {
    width: auto !important;
    min-width: 360px !important;
}

.woocommerce-cart table.shop_table.cart .product-name > a {
    display: block;
    margin-bottom: 10px;
    color: #172a63 !important;
    font-size: 15px;
    font-weight: 900;
    line-height: 1.35;
}

.woocommerce-cart table.shop_table.cart .product-name dl,
.woocommerce-cart table.shop_table.cart .product-name .variation {
    margin: 8px 0 0;
    color: #657894;
    font-size: 13px;
    line-height: 1.45;
}

.woocommerce-cart table.shop_table.cart .product-name input,
.woocommerce-cart table.shop_table.cart .product-name textarea,
.woocommerce-cart table.shop_table.cart .product-name select,
.woocommerce-cart table.shop_table.cart .product-name iframe,
.woocommerce-cart table.shop_table.cart .product-name .wcuf_upload_field,
.woocommerce-cart table.shop_table.cart .product-name .wcuf_file_uploads_container,
.woocommerce-cart table.shop_table.cart .product-name [class*="upload"] {
    max-width: 520px !important;
}

.woocommerce-cart table.shop_table.cart .product-price,
.woocommerce-cart table.shop_table.cart .product-quantity,
.woocommerce-cart table.shop_table.cart .product-subtotal {
    width: 120px !important;
    color: #f25a22;
    font-weight: 900;
    text-align: center !important;
    white-space: nowrap;
}

.woocommerce-cart table.shop_table.cart .product-quantity {
    width: 140px !important;
}

.woocommerce-cart table.shop_table.cart td.actions {
    display: table-cell !important;
    padding: 18px !important;
    border-bottom: 0 !important;
    background: #f8fbff !important;
}

.woocommerce-cart table.shop_table.cart td.actions .coupon {
    display: flex !important;
    float: left !important;
    grid-template-columns: none !important;
    align-items: center;
    gap: 10px;
    width: min(430px, 100%) !important;
    max-width: 430px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

.woocommerce-cart table.shop_table.cart td.actions .coupon label {
    display: none !important;
}

.woocommerce-cart table.shop_table.cart td.actions .coupon input.input-text {
    flex: 1 1 auto;
    width: auto !important;
    min-width: 180px;
    height: 42px !important;
    margin: 0 !important;
    border: 1px solid #dce8f5 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

.woocommerce-cart table.shop_table.cart td.actions .coupon .button,
.woocommerce-cart table.shop_table.cart td.actions > .button {
    min-height: 42px !important;
    padding: 0 18px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase;
}

.woocommerce-cart table.shop_table.cart td.actions > .button {
    float: right !important;
    min-width: 170px;
    color: #ffffff !important;
    background: #8fa1b8 !important;
}

.woocommerce-cart .cart-collaterals {
    display: flex !important;
    float: none !important;
    clear: both !important;
    justify-content: flex-end;
    width: 100% !important;
    max-width: none !important;
    margin: 24px 0 0 !important;
}

.woocommerce-cart .cart-collaterals .cart_totals {
    float: none !important;
    width: min(420px, 100%) !important;
    max-width: 420px !important;
    margin: 0 !important;
    padding: 24px !important;
    border: 1px solid rgba(207, 224, 241, .95) !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    box-shadow: 0 20px 50px rgba(15, 23, 42, .06) !important;
}

.woocommerce-cart .cart_totals h2 {
    margin: 0 0 18px !important;
    padding: 0 0 14px !important;
    border-bottom: 1px solid #e4edf7 !important;
    color: #172a63;
    font-size: 18px;
    line-height: 1.25;
}

.woocommerce-cart .cart_totals table {
    display: table !important;
    width: 100% !important;
    margin: 0 0 20px !important;
    border: 0 !important;
    box-shadow: none !important;
}

.woocommerce-cart .cart_totals table tr,
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
    display: table-row !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
    display: table-cell !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid #edf3fa !important;
    color: #172a63;
    font-size: 14px;
}

.woocommerce-cart .cart_totals table td {
    color: #f25a22;
    font-weight: 900;
    text-align: right !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    min-height: 48px !important;
    border-radius: 8px !important;
    color: #ffffff !important;
    background: linear-gradient(135deg, #ff6a2a, #f25a22) !important;
    box-shadow: 0 14px 28px rgba(242, 90, 34, .22) !important;
}

@media (max-width: 849px) {
    .woocommerce-cart .printx-site-main > .woocommerce,
    .woocommerce-cart .entry-content > .woocommerce,
    .woocommerce-cart .woocommerce {
        width: min(100vw - 24px, 1180px) !important;
        margin-top: 28px !important;
    }

    .woocommerce-cart table.shop_table.cart,
    .woocommerce-cart table.shop_table.cart tbody,
    .woocommerce-cart table.shop_table.cart tr.cart_item,
    .woocommerce-cart table.shop_table.cart td {
        display: block !important;
        width: 100% !important;
    }

    .woocommerce-cart table.shop_table.cart thead {
        display: none !important;
    }

    .woocommerce-cart table.shop_table.cart tr.cart_item {
        padding: 16px !important;
        border-bottom: 1px solid #edf3fa !important;
    }

    .woocommerce-cart table.shop_table.cart th,
    .woocommerce-cart table.shop_table.cart td {
        padding: 8px 0 !important;
        border-bottom: 0 !important;
    }

    .woocommerce-cart table.shop_table.cart .product-name {
        min-width: 0 !important;
    }

    .woocommerce-cart table.shop_table.cart .product-price,
    .woocommerce-cart table.shop_table.cart .product-quantity,
    .woocommerce-cart table.shop_table.cart .product-subtotal {
        display: flex !important;
        justify-content: space-between;
        width: 100% !important;
        text-align: right !important;
    }

    .woocommerce-cart table.shop_table.cart .product-price::before {
        content: "Gi\00e1" !important;
        display: block !important;
        color: #91a0b4;
    }

    .woocommerce-cart table.shop_table.cart .product-quantity::before {
        content: "S\1ed1  l\01b0\1ee3ng" !important;
        display: block !important;
        color: #91a0b4;
    }

    .woocommerce-cart table.shop_table.cart .product-subtotal::before {
        content: "T\1ea1m t\00ednh" !important;
        display: block !important;
        color: #91a0b4;
    }

    .woocommerce-cart table.shop_table.cart td.actions,
    .woocommerce-cart table.shop_table.cart td.actions .coupon {
        display: grid !important;
        float: none !important;
        width: 100% !important;
        max-width: none !important;
        gap: 10px;
    }

    .woocommerce-cart table.shop_table.cart td.actions > .button {
        float: none !important;
        width: 100% !important;
    }

    .woocommerce-cart .cart-collaterals {
        justify-content: stretch;
    }

    .woocommerce-cart .cart-collaterals .cart_totals {
        max-width: none !important;
    }
}
