/* All Programming Ltd storefront customisation */
:root {
    --ap-bg: #03060e;
    --ap-panel: #07101f;
    --ap-panel-soft: #0d1728;
    --ap-blue: #102d49;
    --ap-red: #be313a;
    --ap-orange: #ef9f33;
    --ap-yellow: #f2f04e;
    --ap-text: #101828;
    --ap-muted: #667085;
    --ap-border: #d9e2ef;
}

body {
    color: var(--ap-text);
}

.tp-header-top,
.tp-header-main,
.tp-header-bottom-3,
.tp-header-bottom-2,
.tp-header-sticky,
.tp-header-style-primary .tp-header-main {
    border-color: rgba(255,255,255,.08) !important;
}

.tp-main-menu-content > ul > li > a,
.tp-header-action-btn,
.tp-header-login-title,
.tp-header-login-content span,
.tp-header-contact-content h5,
.tp-header-contact-content a,
.tp-header-search-2 input,
.tp-header-search-2 button,
.tp-header-search-input-5 input,
.tp-header-search-input-5 span,
.tp-header-top-info a,
.tp-header-top-menu-item > span,
.tp-header-top-menu-item a {
    color: inherit !important;
}

.main-menu ul li:hover > a,
.tp-header-action-btn:hover,
.tp-header-login a:hover,
.tp-header-contact-content a:hover {
    color: var(--ap-orange) !important;
}

.logo img {
    width: auto;
    object-fit: contain;
}

.tp-product-item,
.tp-product-item-2,
.tp-product-item-3,
.tp-product-item-4,
.tp-product-item-5,
.tp-product-list-item {
    border-color: rgba(16,45,73,.16) !important;
    box-shadow: 0 12px 30px rgba(16,45,73,.08);
}

.tp-product-thumb img,
.tp-product-thumb-2 img,
.tp-product-thumb-3 img,
.tp-product-thumb-4 img,
.tp-product-thumb-5 img {
    border-radius: 18px;
}

.tp-product-title a:hover,
.tp-section-title-pre,
.tp-footer-widget ul li a:hover {
    color: var(--ap-orange) !important;
}

.tp-product-price,
.tp-product-price-2,
.tp-product-price-3,
.tp-product-price-4,
.tp-product-details-price span {
    color: var(--ap-red) !important;
}

.tp-btn,
.tp-btn-2,
.tp-product-action-btn-2:hover,
.tp-product-add-cart-btn,
.tp-product-details-add-to-cart-btn,
.tp-product-details-buy-now-btn,
.tp-cart-checkout-btn,
.tp-checkout-btn,
button[type="submit"] {
    border-radius: 12px !important;
}

.tp-product-add-cart-btn,
.tp-product-details-add-to-cart-btn,
.tp-cart-checkout-btn,
.tp-checkout-btn,
.tp-product-details-buy-now-btn {
    background: var(--ap-blue) !important;
    border-color: var(--ap-blue) !important;
}

.tp-product-add-cart-btn:hover,
.tp-product-details-add-to-cart-btn:hover,
.tp-cart-checkout-btn:hover,
.tp-checkout-btn:hover,
.tp-product-details-buy-now-btn:hover {
    background: var(--ap-red) !important;
    border-color: var(--ap-red) !important;
}

.ap-home,
.ap-page {
    --container-max: 1200px;
}

.ap-section {
    padding: 82px 0;
}

.ap-hero {
    position: relative;
    overflow: hidden;
    background: radial-gradient(circle at 18% 20%, rgba(239,159,51,.18), transparent 28%), radial-gradient(circle at 84% 8%, rgba(190,49,58,.22), transparent 32%), linear-gradient(135deg, #03060e 0%, #07111f 48%, #102d49 100%);
    color: #fff;
    padding: 104px 0 92px;
}

.ap-hero:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(0deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 54px 54px;
    opacity: .35;
}

.ap-hero .container,
.ap-section .container {
    position: relative;
    z-index: 1;
}

.ap-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 9px 14px;
    margin-bottom: 22px;
    border-radius: 999px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.16);
    color: #f7f7fb;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ap-eyebrow:before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--ap-orange);
    box-shadow: 0 0 0 6px rgba(239,159,51,.18);
}

.ap-hero h2,
.ap-hero h1 {
    color: #fff;
    font-size: clamp(42px, 5vw, 76px);
    line-height: 1.02;
    letter-spacing: -.05em;
    margin-bottom: 22px;
}

.ap-hero p {
    color: #d9e2ef;
    font-size: 19px;
    line-height: 1.8;
    max-width: 680px;
}

.ap-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}

.ap-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 24px;
    border-radius: 14px;
    font-weight: 800;
    transition: .2s ease;
}

.ap-btn-primary {
    background: var(--ap-orange);
    color: #111827;
}

.ap-btn-primary:hover {
    background: #fff;
    color: #111827;
}

.ap-btn-secondary {
    border: 1px solid rgba(255,255,255,.22);
    color: #fff;
    background: rgba(255,255,255,.06);
}

.ap-btn-secondary:hover {
    border-color: var(--ap-orange);
    color: #fff;
    background: rgba(239,159,51,.16);
}

.ap-hero-card {
    padding: 22px;
    border-radius: 32px;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.13);
    box-shadow: 0 30px 80px rgba(0,0,0,.28);
}

.ap-hero-card img {
    display: block;
    width: 100%;
    border-radius: 24px;
}

.ap-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 14px;
    margin-top: 18px;
}

.ap-stat {
    padding: 18px;
    border-radius: 18px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.1);
}

.ap-stat strong {
    display: block;
    color: #fff;
    font-size: 24px;
    line-height: 1;
}

.ap-stat span {
    display: block;
    margin-top: 6px;
    color: #c7d1e0;
    font-size: 13px;
}

.ap-feature-strip {
    margin-top: -36px;
    position: relative;
    z-index: 3;
}

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

.ap-feature-card,
.ap-card,
.ap-info-card {
    background: #fff;
    border: 1px solid rgba(16,45,73,.14);
    border-radius: 24px;
    box-shadow: 0 18px 45px rgba(16,45,73,.08);
}

.ap-feature-card {
    padding: 24px;
}

.ap-feature-card i,
.ap-card-icon {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background: rgba(16,45,73,.08);
    color: var(--ap-red);
    font-size: 24px;
    margin-bottom: 16px;
}

.ap-feature-card h3,
.ap-card h3,
.ap-info-card h3 {
    font-size: 20px;
    margin-bottom: 8px;
    color: #07111f;
}

.ap-feature-card p,
.ap-card p,
.ap-info-card p,
.ap-page p,
.ap-page li {
    color: var(--ap-muted);
    line-height: 1.75;
}

.ap-section-heading {
    max-width: 780px;
    margin: 0 auto 42px;
    text-align: center;
}

.ap-section-heading h2 {
    font-size: clamp(32px, 4vw, 52px);
    letter-spacing: -.04em;
    margin-bottom: 14px;
    color: #07111f;
}

.ap-section-heading p {
    color: var(--ap-muted);
    font-size: 17px;
    line-height: 1.75;
}

.ap-category-grid,
.ap-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.ap-card {
    position: relative;
    overflow: hidden;
    padding: 30px;
}

.ap-card:after {
    content: "";
    position: absolute;
    right: -55px;
    bottom: -55px;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: rgba(239,159,51,.12);
}

.ap-card a {
    color: var(--ap-blue);
    font-weight: 800;
}

.ap-dark-section {
    background: linear-gradient(135deg, #03060e, #102d49);
    color: #fff;
}

.ap-dark-section .ap-section-heading h2,
.ap-dark-section h3,
.ap-dark-section strong {
    color: #fff;
}

.ap-dark-section .ap-section-heading p,
.ap-dark-section p,
.ap-dark-section li {
    color: #cfd9e8;
}

.ap-license-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.ap-license-card {
    padding: 30px;
    border-radius: 24px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
}

.ap-license-card h3 {
    color: #fff;
    font-size: 24px;
    margin-bottom: 10px;
}

.ap-badge-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.ap-badge {
    display: inline-flex;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(16,45,73,.08);
    color: var(--ap-blue);
    font-size: 13px;
    font-weight: 800;
}

.ap-cta {
    border-radius: 32px;
    padding: 48px;
    color: #fff;
    background: radial-gradient(circle at 12% 15%, rgba(242,240,78,.24), transparent 26%), linear-gradient(135deg, #102d49, #be313a);
    box-shadow: 0 24px 70px rgba(16,45,73,.18);
}

.ap-cta h2 {
    color: #fff;
    font-size: clamp(30px, 4vw, 48px);
    margin-bottom: 12px;
}

.ap-cta p {
    color: rgba(255,255,255,.85);
    max-width: 720px;
}

.ap-page-hero {
    padding: 76px 0;
    background: linear-gradient(135deg, #03060e, #102d49);
    color: #fff;
}

.ap-page-hero h1,
.ap-page-hero h2 {
    color: #fff;
    font-size: clamp(34px, 5vw, 58px);
    letter-spacing: -.04em;
}

.ap-page-hero p {
    color: #d9e2ef;
    max-width: 780px;
    font-size: 18px;
}

.ap-page .ap-info-card {
    padding: 30px;
    height: 100%;
}

.ap-check-list {
    padding-left: 0;
    list-style: none;
}

.ap-check-list li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 12px;
}

.ap-check-list li:before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--ap-red);
    font-weight: 900;
}

.tp-footer-area {
    background: var(--footer-background-color) !important;
    color: var(--footer-text-color) !important;
}

.tp-footer-widget-title,
.tp-footer-widget h4,
.tp-footer-widget h3 {
    color: var(--footer-title-color) !important;
}

.tp-footer-widget p,
.tp-footer-widget ul li a,
.tp-footer-contact-content a,
.tp-footer-contact-content p {
    color: var(--footer-link-color) !important;
}

@media (max-width: 1199px) {
    .ap-feature-grid,
    .ap-category-grid,
    .ap-card-grid,
    .ap-license-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .ap-hero {
        padding: 76px 0 64px;
    }
    .ap-section {
        padding: 58px 0;
    }
    .ap-feature-grid,
    .ap-category-grid,
    .ap-card-grid,
    .ap-license-grid,
    .ap-stat-grid {
        grid-template-columns: 1fr;
    }
    .ap-cta {
        padding: 32px 24px;
    }
}

/* v2 launch polish: docs hubs, roadmap, product feature lists */
.ap-feature-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    list-style: none;
    padding: 0;
    margin: 0;
}
.ap-feature-list li {
    position: relative;
    padding: 18px 18px 18px 46px;
    border-radius: 18px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    color: #d9e2ef;
}
.ap-feature-list li:before {
    content: "✓";
    position: absolute;
    left: 18px;
    top: 18px;
    color: var(--ap-yellow);
    font-weight: 900;
}
.ap-doc-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}
.ap-doc-card {
    background: #fff;
    border: 1px solid rgba(16,45,73,.14);
    border-radius: 24px;
    padding: 28px;
    box-shadow: 0 18px 45px rgba(16,45,73,.08);
    min-height: 100%;
}
.ap-doc-card h3 { margin-bottom: 10px; color: #07111f; }
.ap-doc-card p { color: var(--ap-muted); line-height: 1.7; }
.ap-doc-card a { font-weight: 800; color: var(--ap-blue); }
.ap-table-wrap { overflow-x: auto; }
.ap-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid rgba(16,45,73,.14);
    border-radius: 20px;
    overflow: hidden;
    background: #fff;
}
.ap-table th,
.ap-table td { padding: 18px; border-bottom: 1px solid rgba(16,45,73,.1); vertical-align: top; }
.ap-table th { background: #07111f; color: #fff; font-weight: 800; }
.ap-table tr:last-child td { border-bottom: 0; }
.ap-roadmap { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.ap-roadmap-item { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); border-radius: 22px; padding: 24px; }
.ap-roadmap-item span { display: inline-flex; border-radius: 999px; padding: 6px 10px; margin-bottom: 12px; background: rgba(242,240,78,.16); color: var(--ap-yellow); font-weight: 800; font-size: 12px; text-transform: uppercase; }
.ap-roadmap-item h3 { color: #fff; margin-bottom: 8px; }
.ap-roadmap-item p { color: #cfd9e8; }
.ap-small-note { font-size: 14px; color: var(--ap-muted); }
@media (max-width: 991px) {
    .ap-doc-grid, .ap-roadmap, .ap-feature-list { grid-template-columns: 1fr; }
}


/* v2 support/launch content helpers */
.ap-split {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
    gap: 28px;
    align-items: center;
}

.ap-split h2 {
    font-size: clamp(30px, 4vw, 48px);
    letter-spacing: -.04em;
    margin-bottom: 16px;
    color: #07111f;
}

.ap-btn-dark {
    background: #07111f;
    color: #fff;
}

.ap-btn-dark:hover {
    background: var(--ap-red);
    color: #fff;
}

.ap-link-arrow {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    color: var(--ap-blue);
    font-weight: 800;
}

.ap-link-arrow:after {
    content: "→";
    transition: transform .2s ease;
}

.ap-link-arrow:hover:after {
    transform: translateX(4px);
}

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

.ap-doc-card {
    display: block;
    min-height: 160px;
    padding: 26px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid rgba(16,45,73,.14);
    box-shadow: 0 18px 45px rgba(16,45,73,.08);
}

.ap-doc-card strong {
    display: block;
    color: #07111f;
    font-size: 20px;
    margin-bottom: 10px;
}

.ap-doc-card span {
    display: block;
    color: var(--ap-muted);
    line-height: 1.65;
}

.ap-doc-card:hover {
    transform: translateY(-2px);
    border-color: rgba(239,159,51,.55);
}

.ap-timeline {
    display: grid;
    gap: 18px;
    counter-reset: timeline;
}

.ap-timeline > div {
    position: relative;
    padding: 26px 28px 26px 92px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid rgba(16,45,73,.14);
    box-shadow: 0 18px 45px rgba(16,45,73,.08);
}

.ap-timeline strong {
    position: absolute;
    left: 28px;
    top: 26px;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--ap-blue), var(--ap-red));
    color: #fff;
    font-size: 13px;
    font-weight: 900;
}

.ap-timeline h3 {
    color: #07111f;
    font-size: 22px;
    margin-bottom: 8px;
}

.ap-policy h3 {
    margin-top: 26px;
    padding-top: 24px;
    border-top: 1px solid rgba(16,45,73,.12);
}

.ap-policy h3:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.ap-product-page .ap-info-card {
    min-height: 100%;
}

.tp-product-badge,
.tp-product-badge span,
.product-label span {
    border-radius: 999px !important;
}

@media (max-width: 1199px) {
    .ap-doc-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    .ap-split {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .ap-doc-grid {
        grid-template-columns: 1fr;
    }
    .ap-timeline > div {
        padding: 84px 22px 24px;
    }
    .ap-timeline strong {
        left: 22px;
        top: 22px;
    }
}

/* v4 bundle/catalogue additions */
.ap-compare-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid rgba(16,45,73,.14);
    border-radius: 20px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 18px 45px rgba(16,45,73,.08);
}

.ap-compare-table th,
.ap-compare-table td {
    padding: 18px;
    border-bottom: 1px solid rgba(16,45,73,.1);
    vertical-align: top;
}

.ap-compare-table th {
    background: #07111f;
    color: #fff;
    font-weight: 800;
}

.ap-compare-table tr:last-child td {
    border-bottom: 0;
}

.ap-bundle-product .ap-product-intro {
    border-left: 5px solid var(--ap-orange);
    padding-left: 22px;
}

.ap-page .ap-doc-card h3 {
    font-size: 22px;
    line-height: 1.25;
}

.ap-page .ap-doc-card span {
    display: inline-flex;
    width: auto;
    margin-bottom: 12px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(16,45,73,.08);
    color: var(--ap-blue);
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
}

.ap-page .ap-info-card a:not(.ap-btn) {
    color: var(--ap-blue);
    font-weight: 800;
}

@media (max-width: 767px) {
    .ap-compare-table th,
    .ap-compare-table td {
        padding: 14px;
        font-size: 14px;
    }
}


/* v5 sales-page/product positioning additions */
.ap-product-labels .ap-product-intro,
.ap-vendor-platform .ap-product-intro,
.ap-staging-manager .ap-product-intro {
    border-left: 5px solid var(--ap-orange);
    padding-left: 22px;
}

.ap-vendor-platform .ap-product-intro {
    border-left-color: var(--ap-red);
}

.ap-staging-manager .ap-product-intro {
    border-left-color: var(--ap-blue);
}

.ap-code-panel {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 20px;
    margin: 18px 0;
    background: #07111f;
    border-radius: 18px;
    box-shadow: 0 18px 45px rgba(16,45,73,.12);
}

.ap-code-panel code {
    display: inline-flex;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    color: #fff;
    font-weight: 800;
    border: 1px solid rgba(255,255,255,.12);
}

.ap-flow-list {
    counter-reset: apflow;
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 14px;
}

.ap-flow-list li {
    counter-increment: apflow;
    position: relative;
    padding: 18px 20px 18px 66px;
    border: 1px solid rgba(16,45,73,.12);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(16,45,73,.06);
    font-weight: 700;
}

.ap-flow-list li::before {
    content: counter(apflow);
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: var(--ap-blue);
    color: #fff;
    font-weight: 900;
}

.ap-note {
    padding: 18px 20px;
    border-radius: 18px;
    background: rgba(239,159,51,.12);
    border: 1px solid rgba(239,159,51,.35);
    color: #102D49;
    font-weight: 700;
}


/* All Programming V6 POS suite sections */
.ap-pos-page .ap-product-intro,
.ap-pos-landing .ap-page-hero { position: relative; overflow: hidden; }
.ap-pos-components .ap-info-card code { display: inline-block; margin-top: 8px; padding: 4px 8px; border-radius: 8px; background: rgba(15, 23, 42, .08); font-size: 13px; }
.ap-full-img, .ap-rounded-img { max-width: 100%; height: auto; display: block; }
.ap-full-img { border-radius: 24px; box-shadow: 0 24px 70px rgba(15, 23, 42, .16); margin-top: 24px; }
.ap-rounded-img { border-radius: 24px; box-shadow: 0 20px 60px rgba(15, 23, 42, .18); }
.ap-pos-spotlight { background: linear-gradient(135deg, rgba(10,16,28,1), rgba(20,42,82,1)); color: #fff; }
.ap-pos-spotlight h2, .ap-pos-spotlight p, .ap-pos-spotlight .ap-eyebrow { color: #fff; }
.ap-pos-spotlight .ap-btn-secondary { border-color: rgba(255,255,255,.45); color: #fff; }
.ap-section-dark { background: #0b1020; color: #fff; }
.ap-section-dark h2, .ap-section-dark h3, .ap-section-dark p { color: #fff; }
.ap-section-dark .ap-info-card { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15); }
.ap-flow-list { counter-reset: apflow; list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.ap-flow-list li { position: relative; padding: 18px 20px 18px 58px; border: 1px solid rgba(15,23,42,.12); border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(15,23,42,.06); }
.ap-flow-list li:before { counter-increment: apflow; content: counter(apflow); position: absolute; left: 18px; top: 16px; width: 28px; height: 28px; border-radius: 999px; background: #f5b21f; color: #101828; font-weight: 800; display: grid; place-items: center; }
.ap-code-panel { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0; }
.ap-code-panel code { background: #111827; color: #fff; border-radius: 999px; padding: 8px 12px; font-size: 13px; }
@media (max-width: 767px) { .ap-pos-spotlight .ap-split { grid-template-columns: 1fr; } }


/* All Programming V7 listings/eBay sections */
.ap-listings-page .ap-product-intro, .ap-listings-landing .ap-page-hero { position: relative; overflow: hidden; }
.ap-listings-spotlight { background: linear-gradient(135deg, #07101f 0%, #102d49 58%, #0b1020 100%); color: #fff; }
.ap-listings-spotlight h2, .ap-listings-spotlight p, .ap-listings-spotlight .ap-eyebrow { color: #fff; }
.ap-listings-spotlight .ap-btn-secondary { border-color: rgba(255,255,255,.48); color: #fff; }
.ap-listings-page .ap-section-dark, .ap-listings-landing .ap-section-dark { border-radius: 26px; padding: 42px; margin: 30px 0; background: linear-gradient(135deg,#07101f,#101828); color: #fff; }
.ap-listings-page .ap-section-dark h2, .ap-listings-page .ap-section-dark p, .ap-listings-landing .ap-section-dark h2, .ap-listings-landing .ap-section-dark p { color: #fff; }
.ap-listings-page .ap-code-panel code { border: 1px solid rgba(245,179,31,.24); }
.ap-compare-table td:nth-child(2), .ap-compare-table td:nth-child(3) { text-align: center; }
.ap-listings-landing .ap-flow-list li strong { color: #102d49; }
@media (max-width: 767px) { .ap-listings-page .ap-section-dark, .ap-listings-landing .ap-section-dark { padding: 24px; border-radius: 18px; } }


/* --------------------------------------------------------------------------
   V8 visual review fixes — premium dark-grey software brand direction
   -------------------------------------------------------------------------- */
:root {
    --ap-bg: #08090c;
    --ap-header: #0b0d11;
    --ap-header-soft: #14161b;
    --ap-panel: #11141a;
    --ap-panel-2: #171b22;
    --ap-line: rgba(255,255,255,.10);
    --ap-text: #111827;
    --ap-muted: #667085;
    --ap-blue: #102d49;
    --ap-red: #be313a;
    --ap-orange: #ef9f33;
    --ap-yellow: #f2f04e;
}
body { color: var(--ap-text); }
.tp-header-area,
.tp-header-sticky-area,
.tp-header-main,
.tp-header-5,
.tp-header-bottom,
.tp-header-bottom-2,
.tp-header-bottom-3,
.tp-header-sticky {
    background: var(--ap-header) !important;
    color: #f7f7f8 !important;
    border-color: var(--ap-line) !important;
    box-shadow: 0 18px 48px rgba(0,0,0,.18);
}
.tp-header-top,
.tp-header-top.black-bg,
.tp-header-top-2 {
    background: var(--ap-header-soft) !important;
    color: #d9dde4 !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
}
.tp-header-area,
.tp-header-main,
.tp-header-5 { position: relative; }
.tp-header-area:before,
.tp-header-main:before,
.tp-header-5:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--ap-red) 0 24%, var(--ap-orange) 24% 52%, var(--ap-yellow) 52% 72%, var(--ap-blue) 72% 100%);
    opacity: .95;
    pointer-events: none;
    z-index: 2;
}
.logo img,
.tp-header-logo img,
.tp-header-sticky-logo img,
.tp-footer-logo img,
.tp-offcanvas-logo img {
    max-height: 38px !important;
    width: auto !important;
    object-fit: contain !important;
}
.tp-footer-logo img { max-height: 44px !important; opacity: .92; }
.tp-main-menu-content > ul > li > a,
.tp-header-action-btn,
.tp-header-login-title,
.tp-header-login-content span,
.tp-header-contact-content a,
.tp-header-top-menu-item > span,
.tp-header-top-menu-item a { color: #f4f6f8 !important; }
.main-menu ul li:hover > a,
.tp-header-action-btn:hover,
.tp-header-login a:hover,
.tp-header-contact-content a:hover { color: var(--ap-orange) !important; }
.tp-header-action-badge,
.tp-header-action-badge-5 { background: var(--ap-orange) !important; color: #0b0d11 !important; }
.tp-header-search-2 input,
.tp-header-search-input-5 input,
.tp-header-search-wrapper,
.tp-header-search-box input {
    background: rgba(255,255,255,.06) !important;
    border-color: rgba(255,255,255,.12) !important;
    color: #fff !important;
}
.ap-home-v8 .ap-hero,
.ap-hero-refined {
    background: radial-gradient(circle at 76% 18%, rgba(16,45,73,.42), transparent 35%), linear-gradient(135deg, #08090c 0%, #0f131a 54%, #111827 100%) !important;
    padding: 128px 0 108px !important;
    color: #fff;
}
.ap-hero-refined:before {
    background:
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255,255,255,.03) 1px, transparent 1px) !important;
    background-size: 58px 58px !important;
    opacity: .55 !important;
}
.ap-hero-refined:after,
.ap-page-hero:after,
.ap-dark-section-refined:after {
    content: "";
    position: absolute;
    right: 7%;
    top: 38px;
    width: 210px;
    height: 150px;
    opacity: .36;
    background:
      radial-gradient(circle at 14% 68%, var(--ap-red) 0 4px, transparent 5px),
      radial-gradient(circle at 42% 38%, var(--ap-orange) 0 4px, transparent 5px),
      radial-gradient(circle at 70% 58%, var(--ap-yellow) 0 4px, transparent 5px),
      linear-gradient(35deg, transparent 0 20%, rgba(190,49,58,.9) 20% 22%, transparent 22% 100%),
      linear-gradient(115deg, transparent 0 36%, rgba(239,159,51,.9) 36% 38%, transparent 38% 100%),
      linear-gradient(70deg, transparent 0 54%, rgba(242,240,78,.9) 54% 56%, transparent 56% 100%);
    pointer-events: none;
}
.ap-hero-refined h1,
.ap-page-hero h1 {
    font-size: clamp(42px, 5.4vw, 78px) !important;
    line-height: .98 !important;
    letter-spacing: -.055em !important;
    max-width: 840px;
}
.ap-lead,
.ap-hero-refined p,
.ap-page-hero p {
    font-size: 18px !important;
    line-height: 1.75 !important;
    color: #d6dae2 !important;
    max-width: 720px;
}
.ap-eyebrow {
    background: rgba(255,255,255,.07) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    color: #f1f4f8 !important;
    font-size: 12px !important;
    letter-spacing: .12em !important;
}
.ap-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 26px;
}
.ap-hero-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    border-radius: 999px;
    padding: 0 14px;
    color: #e8ebf0;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.11);
    font-size: 13px;
    font-weight: 800;
}
.ap-console {
    position: relative;
    overflow: hidden;
    border-radius: 30px;
    background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.045));
    border: 1px solid rgba(255,255,255,.14);
    padding: 22px;
    box-shadow: 0 35px 90px rgba(0,0,0,.40);
}
.ap-console:before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 95% 0%, rgba(239,159,51,.22), transparent 32%), radial-gradient(circle at 0% 100%, rgba(190,49,58,.20), transparent 28%);
    pointer-events: none;
}
.ap-console-top,
.ap-console-grid,
.ap-console-flow { position: relative; z-index: 1; }
.ap-console-top {
    height: 48px;
    display: flex;
    align-items: center;
    gap: 9px;
    color: #cfd8e3;
    border-bottom: 1px solid rgba(255,255,255,.11);
    margin-bottom: 18px;
}
.ap-console-top span { width: 10px; height: 10px; border-radius: 50%; background: rgba(255,255,255,.28); }
.ap-console-top span:nth-child(1){ background: var(--ap-red); }
.ap-console-top span:nth-child(2){ background: var(--ap-orange); }
.ap-console-top span:nth-child(3){ background: var(--ap-yellow); }
.ap-console-top strong { margin-left: auto; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.ap-console-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 14px;
}
.ap-console-card {
    min-height: 154px;
    border-radius: 22px;
    padding: 22px;
    background: rgba(8,9,12,.72);
    border: 1px solid rgba(255,255,255,.11);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
.ap-console-card small { display: block; color: #aab4c2; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; margin-bottom: 12px; }
.ap-console-card strong { display: block; color: #fff; font-size: 24px; letter-spacing: -.03em; margin-bottom: 8px; }
.ap-console-card span { color: #c7ced8; line-height: 1.55; }
.ap-accent-red { border-top: 3px solid var(--ap-red); }
.ap-accent-orange { border-top: 3px solid var(--ap-orange); }
.ap-accent-yellow { border-top: 3px solid var(--ap-yellow); }
.ap-accent-blue { border-top: 3px solid #3b82f6; }
.ap-console-flow {
    margin-top: 18px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #dfe5ee;
    font-size: 13px;
    font-weight: 800;
}
.ap-console-flow i { flex: 1; height: 1px; background: linear-gradient(90deg, var(--ap-red), var(--ap-orange), var(--ap-yellow)); opacity: .75; }
.ap-btn { border-radius: 999px !important; font-weight: 900 !important; letter-spacing: -.01em; }
.ap-btn-primary { background: #fff !important; color: #0b0d11 !important; }
.ap-btn-primary:hover { background: var(--ap-orange) !important; color: #0b0d11 !important; }
.ap-btn-secondary { background: rgba(255,255,255,.06) !important; border-color: rgba(255,255,255,.16) !important; color: #fff !important; }
.ap-btn-secondary:hover { border-color: var(--ap-orange) !important; background: rgba(239,159,51,.14) !important; }
.ap-feature-strip-v8 { margin-top: -54px; position: relative; z-index: 3; }
.ap-feature-strip-v8 .ap-feature-card {
    border-radius: 24px !important;
    border: 1px solid rgba(16,24,40,.08) !important;
    box-shadow: 0 22px 60px rgba(16,24,40,.10) !important;
}
.ap-mini-icon {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: #f4f6f8;
    color: #111827;
    font-weight: 900;
    margin-bottom: 18px;
}
.ap-section-heading h2 { letter-spacing: -.045em; }
.ap-section-heading p { color: #667085; }
.ap-section-tight { padding-top: 72px !important; padding-bottom: 72px !important; }
.ap-showcase-grid,
.ap-platform-grid,
.ap-product-link-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 18px;
}
.ap-showcase-card,
.ap-platform-card,
.ap-product-link-grid a {
    position: relative;
    overflow: hidden;
    display: block;
    min-height: 260px;
    padding: 28px;
    border-radius: 26px;
    background: #fff;
    border: 1px solid rgba(16,24,40,.10);
    box-shadow: 0 18px 55px rgba(16,24,40,.08);
    color: #111827;
}
.ap-showcase-card:before,
.ap-platform-card:before,
.ap-product-link-grid a:before {
    content: "";
    position: absolute;
    left: 0; right: 0; top: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--ap-red), var(--ap-orange), var(--ap-yellow), var(--ap-blue));
}
.ap-showcase-card:hover,
.ap-platform-card:hover,
.ap-product-link-grid a:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 70px rgba(16,24,40,.13);
    color: #111827;
}
.ap-showcase-tag {
    display: inline-flex;
    border-radius: 999px;
    padding: 7px 11px;
    background: #f2f4f7;
    color: #344054;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: 24px;
}
.ap-showcase-card h3,
.ap-platform-card h3 { font-size: 28px; letter-spacing: -.04em; margin-bottom: 14px; }
.ap-showcase-card p,
.ap-platform-card p { color: #667085; line-height: 1.7; }
.ap-showcase-card strong,
.ap-platform-card span { position: absolute; left: 28px; bottom: 26px; color: #111827; font-weight: 900; }
.ap-platform-section { background: #f7f8fb; }
.ap-platform-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.ap-product-link-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.ap-product-link-grid a { min-height: 136px; }
.ap-product-link-grid strong { display: block; font-size: 20px; margin-bottom: 10px; }
.ap-product-link-grid span { color: #667085; }
.ap-dark-section-refined {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg,#08090c 0%, #11141a 100%) !important;
}
.ap-dark-section-refined .ap-section-heading h2,
.ap-dark-section-refined .ap-section-heading p { color: #fff !important; }
.ap-dark-section-refined .ap-section-heading p { color: #c9d1dc !important; }
.ap-page-hero {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #08090c 0%, #11141a 70%, #102d49 100%);
    color: #fff;
    padding: 110px 0 90px;
}
.ap-page-hero .container { position: relative; z-index: 1; }
.ap-page-hero h1 { color: #fff; margin-bottom: 20px; }
.ap-page-v8 .tp-section-title, .ap-page-v8 h2, .ap-page-v8 h3 { letter-spacing: -.035em; }
.tp-product-item,
.tp-product-item-2,
.tp-product-item-3,
.tp-product-item-4,
.tp-product-item-5,
.tp-product-list-item {
    border: 1px solid rgba(16,24,40,.08) !important;
    border-radius: 22px !important;
    box-shadow: 0 16px 50px rgba(16,24,40,.08) !important;
    overflow: hidden;
}
.tp-product-thumb img,
.tp-product-thumb-2 img,
.tp-product-thumb-3 img,
.tp-product-thumb-4 img,
.tp-product-thumb-5 img {
    border-radius: 0 !important;
}
.tp-product-title a { font-weight: 900 !important; letter-spacing: -.02em; }
.tp-product-price,
.tp-product-price-2,
.tp-product-price-3,
.tp-product-price-4,
.tp-product-details-price span { color: #111827 !important; font-weight: 900 !important; }
.ap-product-content { max-width: 980px; margin: 0 auto; }
.ap-product-content section { margin-bottom: 46px; }
.ap-product-content h2 { font-size: clamp(28px,3vw,42px); letter-spacing: -.045em; margin-bottom: 16px; }
.ap-product-content p { color: #4b5563; line-height: 1.75; font-size: 16px; }
.ap-product-intro { padding: 28px; background: #f7f8fb; border: 1px solid rgba(16,24,40,.08); border-radius: 24px; }
.ap-spec-grid,
.ap-card-grid { gap: 18px; }
.ap-info-card,
.ap-spec-grid > div {
    border: 1px solid rgba(16,24,40,.10) !important;
    border-radius: 22px !important;
    box-shadow: 0 16px 45px rgba(16,24,40,.06) !important;
}
.ap-check-list li { margin-bottom: 10px; }
.ap-check-list li:before { background: linear-gradient(135deg, var(--ap-red), var(--ap-orange)) !important; }
.tp-footer-area,
.tp-footer-5-area,
footer { background: #08090c !important; color: #cbd3df !important; }
.tp-footer-widget-title { color: #fff !important; }
.tp-footer-widget ul li a { color: #cbd3df !important; }
.tp-footer-widget ul li a:hover { color: var(--ap-orange) !important; }
.tp-footer-area:before,
.tp-footer-5-area:before,
footer:before {
    content: "";
    display: block;
    height: 3px;
    background: linear-gradient(90deg, var(--ap-red), var(--ap-orange), var(--ap-yellow), var(--ap-blue));
}
@media (max-width: 1199px) {
    .ap-showcase-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 991px) {
    .ap-console-grid,
    .ap-platform-grid,
    .ap-product-link-grid { grid-template-columns: 1fr; }
    .ap-console { margin-top: 22px; }
}
@media (max-width: 767px) {
    .ap-hero-refined { padding: 88px 0 76px !important; }
    .ap-showcase-grid { grid-template-columns: 1fr; }
    .ap-showcase-card, .ap-platform-card { min-height: 220px; }
    .logo img, .tp-header-logo img, .tp-header-sticky-logo img { max-height: 32px !important; }
}
