/* ============================================================
   SOFTWARE PAGE
============================================================= */

.software-hero {
    padding:45px 0 85px;
    background:var(--prs-soft);
    border-bottom:1px solid var(--prs-line);
}
.software-heading {
    margin-bottom:38px;
}
.software-eyebrow {
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:22px;
    color:var(--prs-orange);
    font-size:11px;
    font-weight:850;
    letter-spacing:1.2px;
    text-transform:uppercase;
}
.software-eyebrow .status-dot {
    width:6px;
    height:6px;
}
.software-heading-grid {
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:80px;
    align-items:end;
}
.software-heading-grid h1,
.software-heading-grid h2 {
    max-width:650px;
    margin:0;
    color:var(--prs-navy);
    font-size:clamp(38px,4.5vw,58px);
    line-height:1.04;
    letter-spacing:-2px;
    font-weight:850;
}
.software-heading-grid h1 span,
.software-heading-grid h2 span {
    display:block;
    color:var(--prs-orange);
}
.software-heading-grid > p {
    max-width:520px;
    margin:0;
    color:var(--prs-muted);
    font-size:14px;
    line-height:1.85;
}

/* ============================================================
   HERO PANEL
============================================================= */

.software-hero-panel {
    overflow:hidden;
    border:1px solid var(--prs-line);
    border-radius:22px;
    background:var(--prs-white);
    box-shadow:var(--prs-shadow);
}
.software-panel-top,
.software-panel-bottom {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding:17px 20px;
    color:var(--prs-muted);
    font-size:10px;
    font-weight:800;
    letter-spacing:.9px;
}
.software-panel-top {
    border-bottom:1px solid var(--prs-line);
}
.software-panel-top span:last-child,
.software-panel-bottom strong {
    color:var(--prs-orange);
}
.software-panel-top i {
    font-size:9px;
}
.software-panel-main {
    display:flex;
    align-items:center;
    gap:25px;
    min-height:205px;
    padding:35px;
    background:linear-gradient(145deg,#fff,#f7f8fa);
}
.software-panel-icon {
    display:flex;
    align-items:center;
    justify-content:center;
    width:86px;
    height:86px;
    flex:0 0 86px;
    border:1px solid rgba(248,103,59,.20);
    border-radius:20px;
    background:rgba(248,103,59,.07);
    color:var(--prs-orange);
    font-size:30px;
}
.software-panel-label {
    display:block;
    margin-bottom:8px;
    color:var(--prs-orange);
    font-size:10px;
    font-weight:850;
    letter-spacing:1px;
}
.software-panel-main h2 {
    margin:0;
    color:var(--prs-navy);
    font-size:25px;
    line-height:1.2;
    font-weight:850;
}
.software-panel-main p {
    max-width:500px;
    margin:10px 0 0;
    color:var(--prs-muted);
    font-size:13px;
    line-height:1.75;
}
.software-panel-bottom {
    border-top:1px solid var(--prs-line);
}

/* ============================================================
   SOFTWARE LIBRARY
============================================================= */

.software-library {
    padding:35px 0;
    background:var(--prs-white);
    border-bottom:1px solid var(--prs-line);
}
.software-section-heading {
    margin-bottom:38px;
}
.software-category-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}
.software-category-card {
    overflow:hidden;
    border:1px solid var(--prs-line);
    border-radius:var(--prs-radius);
    background:var(--prs-white);
    box-shadow:0 10px 35px rgba(43,49,83,.035);
    transition:transform var(--prs-transition),border-color var(--prs-transition),box-shadow var(--prs-transition);
}
.software-category-card:hover {
    transform:translateY(-4px);
    border-color:rgba(248,103,59,.30);
    box-shadow:var(--prs-shadow);
}
.software-category-header {
    padding:22px 23px;
    border-bottom:1px solid var(--prs-line);
}
.software-category-title {
    display:flex;
    align-items:center;
    gap:13px;
}
.software-category-number {
    color:rgba(43,49,83,.18);
    font-size:12px;
    font-weight:850;
}
.software-category-icon {
    display:flex;
    align-items:center;
    justify-content:center;
    width:43px;
    height:43px;
    flex:0 0 43px;
    border:1px solid rgba(248,103,59,.20);
    border-radius:11px;
    background:rgba(248,103,59,.06);
    color:var(--prs-orange);
    font-size:14px;
}
.software-category-label {
    display:block;
    margin-bottom:5px;
    color:var(--prs-orange);
    font-size:10px;
    font-weight:800;
    letter-spacing:1px;
}
.software-category-title h3 {
    margin:0;
    color:var(--prs-navy);
    font-size:18px;
    line-height:1.25;
    font-weight:850;
}
.software-category-description {
    margin:0;
    padding:17px 23px;
    color:var(--prs-muted);
    font-size:12px;
    line-height:1.7;
}
.software-download-table {
    margin:0 23px 23px;
    border:1px solid var(--prs-line);
    border-radius:8px;
    overflow:hidden;
}
.software-table-head,
.software-table-row {
    display:grid;
    grid-template-columns:minmax(0,1fr) 92px;
}
.software-table-head {
    background:#f7f8fa;
    color:var(--prs-navy);
    font-size:10px;
    font-weight:850;
}
.software-table-head span {
    padding:11px 10px;
}
.software-table-head span:last-child {
    text-align:center;
    border-left:1px solid var(--prs-line);
}
.software-table-row {
    min-height:47px;
    border-top:1px solid var(--prs-line);
}
.software-name {
    display:flex;
    align-items:center;
    padding:10px;
    color:var(--prs-navy);
    font-size:12px;
    line-height:1.5;
}
.software-download {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    color:var(--prs-white);
    background:var(--prs-orange);
    text-decoration:none;
    font-size:10px;
    font-weight:850;
    transition:background var(--prs-transition);
}
.software-download:hover {
    background:var(--prs-orange-dark);
}
.software-download i {
    font-size:11px;
}
.software-download-disabled {
    cursor:default;
    background:rgba(248,103,59,.72);
}

/* ============================================================
   SUPPORT
============================================================= */

.software-support {
    padding:35px 0;
    background:var(--prs-soft);
    border-bottom:1px solid var(--prs-line);
}
.software-support-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}
.software-support-card {
    display:flex;
    align-items:flex-start;
    gap:16px;
    min-height:155px;
    padding:25px;
    border:1px solid var(--prs-line);
    border-radius:var(--prs-radius);
    background:var(--prs-white);
}
.software-support-icon {
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    flex:0 0 42px;
    border:1px solid rgba(248,103,59,.20);
    border-radius:10px;
    background:rgba(248,103,59,.06);
    color:var(--prs-orange);
    font-size:14px;
}
.software-support-card h3 {
    margin:0 0 7px;
    color:var(--prs-navy);
    font-size:15px;
    font-weight:850;
}
.software-support-card p {
    margin:0 0 13px;
    color:var(--prs-muted);
    font-size:12px;
    line-height:1.7;
}
.software-support-card a {
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--prs-navy);
    font-size:12px;
    font-weight:850;
    text-decoration:none;
}
.software-support-card a i {
    color:var(--prs-orange);
    font-size:11px;
}
.software-support-card a:hover {
    color:var(--prs-orange);
}

/* ============================================================
   CONTACT CTA
============================================================= */

.software-contact-section {
    padding:35px 0;
    background:var(--prs-white);
}
.software-contact {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:50px;
    padding:48px;
    border-radius:22px;
    background:var(--prs-gradient);
}
.software-contact .software-eyebrow {
    color:var(--prs-white);
    opacity:.82;
}
.software-contact h2 {
    max-width:650px;
    margin:0;
    color:var(--prs-white);
    font-size:clamp(34px,4vw,50px);
    line-height:1.06;
    letter-spacing:-1.7px;
    font-weight:850;
}
.software-contact h2 span {
    display:block;
    color:var(--prs-white);
    opacity:.82;
}
.software-contact p {
    max-width:620px;
    margin:18px 0 0;
    color:rgba(255,255,255,.82);
    font-size:14px;
    line-height:1.8;
}
.software-contact-actions {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:15px;
    flex:0 0 auto;
}
.software-contact .btn-primary {
    color:var(--prs-navy);
    background:var(--prs-white);
    border-color:var(--prs-white);
}
.software-contact .btn-primary:hover {
    color:var(--prs-orange);
    background:var(--prs-white);
    border-color:var(--prs-white);
}
.software-phone {
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:var(--prs-white);
    text-decoration:none;
}
.software-phone > i {
    font-size:13px;
}
.software-phone span {
    display:flex;
    flex-direction:column;
    gap:3px;
    font-size:13px;
    font-weight:800;
}
.software-phone small {
    color:rgba(255,255,255,.65);
    font-size:9px;
    letter-spacing:.8px;
    text-transform:uppercase;
}

/* ============================================================
   ACTIVE NAV
============================================================= */

.nav-links a.active {
    position:relative;
    color:var(--prs-orange);
}
.nav-links a.active::after {
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-9px;
    height:2px;
    border-radius:10px;
    background:var(--prs-orange);
}

/* ============================================================
   RESPONSIVE
============================================================= */

@media (max-width:1000px) {
    .software-heading-grid {
        grid-template-columns:1fr;
        gap:20px;
    }
    .software-hero-panel {
        margin-top:40px;
    }
    .software-category-grid {
        grid-template-columns:1fr;
    }
    .software-support-grid {
        grid-template-columns:1fr;
    }
    .software-contact {
        align-items:flex-start;
        flex-direction:column;
    }
}
@media (max-width:700px) {
    .software-hero {
        padding:45px 0 65px;
    }
    .software-heading-grid h1,
    .software-heading-grid h2 {
        font-size:42px;
        letter-spacing:-1.8px;
    }
    .software-panel-main {
        align-items:flex-start;
        flex-direction:column;
        padding:25px;
    }
    .software-panel-icon {
        width:65px;
        height:65px;
        flex-basis:65px;
        font-size:22px;
    }
    .software-table-head,
    .software-table-row {
        grid-template-columns:minmax(0,1fr) 78px;
    }
    .software-download span {
        display:none;
    }
    .software-library,
    .software-support,
    .software-contact-section {
        padding:35px 0;
    }
    .software-contact {
        padding:32px 25px;
    }
    .software-contact-actions {
        width:100%;
    }
}
/* ============================================================
   DOWNLOAD PROGRESS NOTICE
============================================================= */

.download-toast {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 2000;
    display: flex;
    align-items: flex-start;
    gap: 14px;
    width: min(360px, calc(100% - 32px));
    padding: 16px 16px 18px;
    border: 1px solid var(--prs-line);
    border-radius: 14px;
    background: var(--prs-white);
    box-shadow: var(--prs-shadow);
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .3s ease, transform .3s ease;
}
.download-toast.is-visible {
    opacity: 1;
    transform: translateY(0);
}
.download-toast[hidden] {
    display: none;
}
.download-toast-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: 10px;
    background: rgba(248, 103, 59, .08);
    color: var(--prs-orange);
    font-size: 15px;
}
.download-toast-body {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    flex: 1;
}
.download-toast-body strong {
    color: var(--prs-navy);
    font-size: 13px;
    font-weight: 850;
}
.download-toast-body span {
    color: var(--prs-muted);
    font-size: 12px;
    line-height: 1.5;
}
.download-toast-bar {
    height: 4px;
    margin-top: 10px;
    border-radius: 4px;
    background: var(--prs-line);
    overflow: hidden;
}
.download-toast-bar span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: 4px;
    background: var(--prs-orange);
    transition: width .3s linear;
}
.download-toast-close {
    flex: 0 0 auto;
    width: 26px;
    height: 26px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--prs-muted);
    font-size: 12px;
}
.download-toast-close:hover {
    background: var(--prs-soft);
    color: var(--prs-navy);
}