/* NJ Media Works — Global Client Portal Branding */

:root {
    --nj-pink: #efbca9;
    --nj-green: #3f674e;
    --nj-slate: #252525;
    --nj-paper: #f5f1e9;
}

/* Base */
body {
    color: var(--nj-slate);
    background: #ffffff;
}

a {
    color: var(--nj-green);
}

a:hover,
a:focus {
    color: var(--nj-slate);
}

/* Primary buttons */
.btn-primary,
.btn-success {
    background-color: var(--nj-green) !important;
    border-color: var(--nj-green) !important;
    color: #ffffff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-success:hover,
.btn-success:focus,
.btn-success:active {
    background-color: var(--nj-slate) !important;
    border-color: var(--nj-slate) !important;
    color: #ffffff !important;
}

/* Outline / secondary buttons */
.btn-outline-primary {
    color: var(--nj-green) !important;
    border-color: var(--nj-green) !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background-color: var(--nj-green) !important;
    border-color: var(--nj-green) !important;
    color: #ffffff !important;
}

/* Cards / panels */
.card,
.panel {
    border-color: #e7e2dc;
}

.card-header,
.panel-heading {
    color: var(--nj-slate);
}

/* Forms */
.form-control:focus {
    border-color: var(--nj-green);
    box-shadow: 0 0 0 0.2rem rgba(63, 103, 78, 0.15);
}

/* Tables */
.table thead th {
    color: var(--nj-slate);
    background-color: var(--nj-paper);
}

/* Badges / active accents */
.badge-primary,
.bg-primary {
    background-color: var(--nj-green) !important;
}

.text-primary {
    color: var(--nj-green) !important;
}

/* Pagination */
.page-item.active .page-link {
    background-color: var(--nj-green);
    border-color: var(--nj-green);
}

.page-link {
    color: var(--nj-green);
}

/* Alerts */
.alert-info {
    background-color: var(--nj-paper);
    border-color: var(--nj-pink);
    color: var(--nj-slate);
}

/* Footer */
footer,
.footer {
    color: var(--nj-slate);
}
/* =========================================================
   NJ MEDIA WORKS — STOREFRONT PRODUCT GROUP CARDS
   ========================================================= */

/* Shared card treatment */
.row.home > div > .card {
    border-radius: 4px;
    box-shadow: none;
    overflow: hidden;
    background: #ffffff;
}

/* 1 – Managed Websites / Pink */
.row.home > div:nth-child(1) > .card {
    border: 1px solid #efbca9;
    border-top: 6px solid #efbca9;
}

.row.home > div:nth-child(1) > .card .btn {
    color: #252525 !important;
    border-color: #efbca9 !important;
    background-color: #ffffff !important;
}

.row.home > div:nth-child(1) > .card .btn:hover,
.row.home > div:nth-child(1) > .card .btn:focus {
    background-color: #efbca9 !important;
    border-color: #efbca9 !important;
    color: #252525 !important;
}


/* 2 – Hosting + Care / Green */
.row.home > div:nth-child(2) > .card {
    border: 1px solid #3f674e;
    border-top: 6px solid #3f674e;
}

.row.home > div:nth-child(2) > .card .btn
    color: #3f674e !important;
    border-color: #3f674e !important;
    background-color: #ffffff !important;
}

.row.home > div:nth-child(1) > .card .btn:hover,
.row.home > div:nth-child(1) > .card .btn:focus {
    background-color: #3f674e !important;
    border-color: #3f674e !important;
    color: #ffffff !important;
}


/* 3 – Add-On Services / Slate */
.row.home > div:nth-child(3) > .card {
    border: 1px solid #252525;
    border-top: 6px solid #252525;
}

/* Add-On Services button */
.row.home > div:nth-child(3) > .card .btn {
    color: #252525 !important;
    border-color: #252525 !important;
    background-color: #ffffff !important;
}

/* Add-On Services button hover/focus */
.row.home > div:nth-child(3) > .card .btn:hover,
.row.home > div:nth-child(3) > .card .btn:focus {
    background-color: #252525 !important;
    border-color: #252525 !important;
    color: #ffffff !important;
}

/* 4 – Business Packages / Green + Blush */
.row.home > div:nth-child(4) > .card {
    border: 1px solid #3f674e;
    border-top: 6px solid #efbca9;
}

/* Business Packages button */
.row.home > div:nth-child(4) > .card .btn {
    color: #3f674e !important;
    border-color: #3f674e !important;
    background-color: #ffffff !important;
}

/* Business Packages button hover/focus */
.row.home > div:nth-child(4) > .card .btn:hover,
.row.home > div:nth-child(4) > .card .btn:focus {
    background-color: #3f674e !important;
    border-color: #3f674e !important;
    color: #ffffff !important;
}

.row.home .card-body h3,
.row.home .card-body h4,
.row.home .card-body h5 {
    color: #252525;
}
/* =========================================================
   NJ MEDIA WORKS — STOREFRONT PAGE
   ========================================================= */

/* Main storefront background */
#main-body {
    background-color: #f5f1e9;
}

/* Main storefront headings */
.primary-content > h2.text-center {
    color: #252525;
    font-weight: 500;
    letter-spacing: -0.02em;
}

/* Primary product heading */
.primary-content > h2.text-center:first-of-type {
    margin-top: 42px !important;
    margin-bottom: 32px !important;
}

/* Space between product groups and help section */
.row.home + h2.text-center {
    margin-top: 48px !important;
}
/* NJ Media Works — Homepage Support Cards */

.action-icon-btns .card-accent-nj-green {
    border-top-color: #3f674e !important;
}

.action-icon-btns .card-accent-nj-pink {
    border-top-color: #efbca9 !important;
}
/* NJ Media Works — Top Bar */
.top-bar {
    background-color: #3f674e !important;
    color: #ffffff !important;
}

.top-bar a,
.top-bar span,
.top-bar i {
    color: #ffffff !important;
}
/* NJ Media Works — Top Header Bar */
.topbar {
    background-color: #3f674e !important;
    color: #ffffff !important;
}

.topbar .btn,
.topbar a,
.topbar span,
.topbar i {
    color: #ffffff !important;
}
/* NJ Media Works — Breadcrumb / Portal Home Bar */

.master-breadcrumb,
.master-breadcrumb .container,
.master-breadcrumb .breadcrumb,
.master-breadcrumb nav,
.master-breadcrumb .breadcrumb-item {
    background-color: #efbca9 !important;
}

.master-breadcrumb,
.master-breadcrumb a,
.master-breadcrumb .breadcrumb-item,
.master-breadcrumb .breadcrumb-item.active {
    color: #252525 !important;
}
/* NJ Media Works — Hide Recent News panel */
#announcementsPanel {
    display: none !important;
}
/* NJ Media Works — Client Dashboard Status Tiles */

/* Services — Pink */
.tiles .row.no-gutters > div:nth-child(1) .highlight {
    background-color: #efbca9 !important;
}

/* Quotes — Green */
.tiles .row.no-gutters > div:nth-child(2) .highlight {
    background-color: #3f674e !important;
}

/* Tickets — Slate */
.tiles .row.no-gutters > div:nth-child(3) .highlight {
    background-color: #252525 !important;
}

/* Invoices — Green */
.tiles .row.no-gutters > div:nth-child(4) .highlight {
    background-color: #3f674e !important;
}
.tiles .tile .stat {
    color: #252525 !important;
}
/* NJ Media Works — Dashboard Tile Icons */
.tiles .tile > i {
    color: #252525 !important;
    opacity: 0.18;
}
/* NJ Media Works — Active Services Panel */

#servicesPanel {
    border-color: #3f674e !important;
}

#servicesPanel .card-header {
    background-color: #f5f1e9 !important;
    color: #252525 !important;
    border-bottom-color: #3f674e !important;
}

#servicesPanel .card-title {
    color: #252525 !important;
}

#servicesPanel .btn {
    background-color: #3f674e !important;
    border-color: #3f674e !important;
    color: #ffffff !important;
}

#servicesPanel .btn:hover,
#servicesPanel .btn:focus {
    background-color: #252525 !important;
    border-color: #252525 !important;
    color: #ffffff !important;
}
/* NJ Media Works — Rename Active Services panel heading */

#servicesPanel .card-title {
    font-size: 0 !important;
}

#servicesPanel .card-title::after {
    content: "Your Websites + Services";
    font-size: 1rem;
    font-weight: 500;
    color: #252525;
}

#servicesPanel .card-title .fas {
    font-size: 1rem !important;
    margin-right: 0.4rem;
}
/* NJ Media Works — Open New Ticket BUTTON only */
.client-home-cards a.btn[href*="submitticket"] {
    background-color: #3f674e !important;
    border-color: #3f674e !important;
    color: #ffffff !important;
}

.client-home-cards a.btn[href*="submitticket"]:hover,
.client-home-cards a.btn[href*="submitticket"]:focus {
    background-color: #252525 !important;
    border-color: #252525 !important;
    color: #ffffff !important;
}
/* NJ Media Works — Hide Client Contacts sidebar */
[menuitemname="Client Contacts"] {
    display: none !important;
}
/* NJ Media Works — Rename Order New Services shortcut */

#Secondary_Sidebar-Client_Shortcuts-Order_New_Services
.sidebar-menu-item-label {
    font-size: 0 !important;
}

#Secondary_Sidebar-Client_Shortcuts-Order_New_Services
.sidebar-menu-item-label::after {
    content: "Add a Service";
    font-size: 1rem;
}

/* =====================================================
   NJ Media Works — branded shopping cart
   ===================================================== */

/* Product/Options header — pink with slate text */
#order-standard_cart .view-cart-items-header,
#order-premium_comparison .view-cart-items-header {
    background: #efbca9 !important;
    color: #252525 !important;
}

/* Border below cart items */
#order-standard_cart .view-cart-items,
#order-premium_comparison .view-cart-items {
    border-bottom-color: #3f674e !important;
}

/* Empty Cart button */
#order-standard_cart .empty-cart .btn,
#order-premium_comparison .empty-cart .btn {
    background: #3f674e !important;
    border-color: #3f674e !important;
    color: #ffffff !important;
}

/* Order Summary header — slate */
#order-standard_cart .order-summary,
#order-premium_comparison .order-summary {
    background: #252525 !important;
    border-bottom-color: #252525 !important;
}

#order-standard_cart .order-summary h2,
#order-premium_comparison .order-summary h2 {
    background: #252525 !important;
    color: #ffffff !important;
}

/* Main checkout and primary buttons */
#order-standard_cart .btn-primary,
#order-premium_comparison .btn-primary {
    background: #3f674e !important;
    border-color: #3f674e !important;
    color: #ffffff !important;
}

#order-standard_cart .btn-primary:hover,
#order-premium_comparison .btn-primary:hover {
    background: #31523e !important;
    border-color: #31523e !important;
}

/* Active View Cart sidebar item */
.panel-sidebar a.list-group-item.active,
.panel-sidebar a.list-group-item.active:hover,
.panel-sidebar a.list-group-item.active:focus {
    background: #3f674e !important;
    border-color: #3f674e !important;
    color: #ffffff !important;
}

/* Edit and other cart links */
#order-standard_cart a,
#order-premium_comparison .view-cart-items a {
    color: #3f674e;
}

/* Keep buttons with white text */
#order-standard_cart a.btn,
#order-premium_comparison a.btn {
    color: #ffffff !important;
}

/* =====================================================
   NJ Media Works — quote-only service cards
   ===================================================== */

/* Turn each product into a clean vertical card */
#order-standard_cart .products .product {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    overflow: hidden;
}

/* Description uses the full card width */
#order-standard_cart .products .product .product-desc {
    float: none !important;
    width: 100% !important;
    box-sizing: border-box;
    flex: 1;
    padding: 24px 20px !important;
}

/* Full-width footer contained inside the card */
#order-standard_cart .product footer.nj-quote-footer {
    position: static !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    box-sizing: border-box;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 0 !important;
    padding: 18px 20px !important;
    background: #f5f1e9;
    border-top: 1px solid rgba(37, 37, 37, 0.12);
}

/* Quote text */
#order-standard_cart .nj-quote-footer .product-pricing {
    position: static !important;
    float: none !important;
    width: auto !important;
    flex: 1 1 auto;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    white-space: normal;
}

#order-standard_cart .nj-quote-footer .product-pricing .price {
    display: block;
    color: #252525;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
}

#order-standard_cart .nj-quote-footer .product-pricing small {
    display: block;
    margin-top: 4px;
    color: #666666;
    font-size: 13px;
    line-height: 1.35;
}

/* Request a Quote button */
#order-standard_cart .nj-quote-footer .btn-order-now {
    position: static !important;
    float: none !important;
    flex: 0 0 auto;
    width: auto !important;
    min-width: 170px;
    margin: 0 !important;
    padding: 12px 20px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #3f674e !important;
    border: 1px solid #3f674e !important;
    border-radius: 3px;
    color: #ffffff !important;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
    text-decoration: none;
    box-shadow: none;
}

#order-standard_cart .nj-quote-footer .btn-order-now:hover,
#order-standard_cart .nj-quote-footer .btn-order-now:focus {
    background: #31523e !important;
    border-color: #31523e !important;
    color: #ffffff !important;
}

/* Stack neatly on small screens */
@media (max-width: 600px) {
    #order-standard_cart .product footer.nj-quote-footer {
        flex-direction: column;
        align-items: stretch;
    }

    #order-standard_cart .nj-quote-footer .product-pricing {
        text-align: center !important;
    }

    #order-standard_cart .nj-quote-footer .btn-order-now {
        width: 100% !important;
    }
}

/* Tighter service-description spacing */
#order-standard_cart .products .product .product-desc p {
    margin: 0 0 12px !important;
    line-height: 1.45;
}

#order-standard_cart .products .product .product-desc ul {
    margin: 0 0 12px !important;
    padding-left: 22px !important;
}

#order-standard_cart .products .product .product-desc ul li {
    margin: 0 0 6px !important;
    padding: 0 !important;
    line-height: 1.4;
}

#order-standard_cart .products .product .product-desc ul li:last-child {
    margin-bottom: 0 !important;
}

#order-standard_cart .products .product .product-desc p:last-child {
    margin-top: 14px !important;
    margin-bottom: 0 !important;
}

/* =====================================================
   NJ Media Works — compact service card override
   ===================================================== */

/* Extra-compact service cards */
#order-standard_cart .products .product header {
    padding: 12px 16px !important;
}

#order-standard_cart .products .product .product-desc {
    height: auto !important;
    min-height: 0 !important;
    flex: 0 0 auto !important;
    padding: 14px 16px !important;
}

#order-standard_cart .products .product .product-desc p {
    margin: 0 0 7px !important;
    padding: 0 !important;
    line-height: 1.3 !important;
}

#order-standard_cart .products .product .product-desc ul {
    margin: 6px 0 0 !important;
    padding-left: 18px !important;
}

#order-standard_cart .products .product .product-desc ul li {
    height: auto !important;
    min-height: 0 !important;
    margin: 0 0 2px !important;
    padding: 0 !important;
    line-height: 1.3 !important;
}

#order-standard_cart .products .product .product-desc ul li:last-child {
    margin-bottom: 0 !important;
}

#order-standard_cart .product footer.nj-quote-footer {
    height: auto !important;
    min-height: 0 !important;
    padding: 12px 16px !important;
}

/* Keep the footer directly beneath the content */
#order-standard_cart .product footer.nj-quote-footer {
    position: static !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 16px 20px !important;
    box-sizing: border-box;
    background: #f5f1e9 !important;
}

/* =========================================
   FIXED-PRICE BRAND PACKAGE FOOTERS
   Brand Essentials + Brand Presence
   ========================================= */

#product15 .nj-quote-footer,
#product16 .nj-quote-footer {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: 12px;
    padding: 18px !important;
    box-sizing: border-box;
}

#product15 .product-pricing,
#product16 .product-pricing {
    width: 100% !important;
    margin: 0 !important;
    text-align: center;
}

#product15 .product-pricing .price,
#product16 .product-pricing .price {
    display: block;
    width: 100%;
    text-align: center;
}

#product15 .btn-order-now,
#product16 .btn-order-now {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    white-space: nowrap;
    box-sizing: border-box;
}

