/* Minification failed. Returning unminified contents.
(37,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(38,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(39,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(40,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(41,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(42,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(46,17): run-time error CSS1039: Token not allowed after unary operator: '-bc-btn-primary-color'
(50,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(51,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(52,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(53,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(54,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(55,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(56,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(65,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(66,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(67,35): run-time error CSS1039: Token not allowed after unary operator: '-bs-primary'
(81,17): run-time error CSS1039: Token not allowed after unary operator: '-bs-primary'
(88,17): run-time error CSS1039: Token not allowed after unary operator: '-bs-secondary'
(333,46): run-time error CSS1039: Token not allowed after unary operator: '-bc-btn-primary-color'
(348,17): run-time error CSS1039: Token not allowed after unary operator: '-bs-primary'
(437,46): run-time error CSS1039: Token not allowed after unary operator: '-bs-primary'
(437,65): run-time error CSS1039: Token not allowed after unary operator: '-bc-btn-primary-color'
(503,17): run-time error CSS1039: Token not allowed after unary operator: '-bs-primary'
(512,17): run-time error CSS1039: Token not allowed after unary operator: '-bc-btn-primary-color'
(543,24): run-time error CSS1039: Token not allowed after unary operator: '-bc-btn-primary-color'
(577,17): run-time error CSS1039: Token not allowed after unary operator: '-bs-primary'
(658,46): run-time error CSS1039: Token not allowed after unary operator: '-bs-primary'
(658,65): run-time error CSS1039: Token not allowed after unary operator: '-bc-btn-primary-color'
(703,17): run-time error CSS1039: Token not allowed after unary operator: '-bs-primary'
(721,17): run-time error CSS1039: Token not allowed after unary operator: '-bc-btn-primary-color'
(726,17): run-time error CSS1039: Token not allowed after unary operator: '-bs-primary'
(759,17): run-time error CSS1039: Token not allowed after unary operator: '-bs-primary'
(768,17): run-time error CSS1039: Token not allowed after unary operator: '-bc-btn-primary-color'
(798,24): run-time error CSS1039: Token not allowed after unary operator: '-bc-btn-primary-color'
(819,17): run-time error CSS1039: Token not allowed after unary operator: '-bc-btn-primary-color'
(838,17): run-time error CSS1039: Token not allowed after unary operator: '-bs-primary'
(846,17): run-time error CSS1039: Token not allowed after unary operator: '-bc-btn-primary-color'
(860,17): run-time error CSS1039: Token not allowed after unary operator: '-bs-primary'
(883,17): run-time error CSS1039: Token not allowed after unary operator: '-bc-btn-primary-color'
 */
/* Fonts */
@import url(https://fonts.googleapis.com/css?family=Montserrat:400,700);
@import url(https://fonts.googleapis.com/css?family=Roboto:400,300,700);
/* Devices 1200px and below */
@media (max-width: 1200px) {
    .nav {
        font-size: 16px;
    }
}

/* Devices 992px and below) */
@media (max-width: 992px) {
    .navbar-brand .navbar-title .navbar-title-primary {
        font-size: 14px;
    }

    .navbar-brand .navbar-title .navbar-title-secondary {
        font-size: 12px;
    }

    #page-content {
        padding-bottom: 100px;
    }
}

/* Devices 768px and below) */
@media (max-width: 768px) {
    #back-top {
        right: 20px;
        bottom: 20px;
    }
}

.toast-title{font-weight:700}.toast-message{-ms-word-wrap:break-word;word-wrap:break-word}.toast-message a,.toast-message label{color:#fff}.toast-message a:hover{color:#ccc;text-decoration:none}.toast-close-button{position:relative;right:-.3em;top:-.3em;float:right;font-size:20px;font-weight:700;color:#fff;-webkit-text-shadow:0 1px 0 #fff;text-shadow:0 1px 0 #fff;opacity:.8;-ms-filter:alpha(Opacity=80);filter:alpha(opacity=80)}.toast-close-button:focus,.toast-close-button:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;-ms-filter:alpha(Opacity=40);filter:alpha(opacity=40)}button.toast-close-button{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.toast-top-center{top:0;right:0;width:100%}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-top-full-width{top:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}#toast-container{position:fixed;z-index:999999}#toast-container *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}#toast-container>div{position:relative;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-position:15px center;background-repeat:no-repeat;-moz-box-shadow:0 0 12px #999;-webkit-box-shadow:0 0 12px #999;box-shadow:0 0 12px #999;color:#fff;opacity:.8;-ms-filter:alpha(Opacity=80);filter:alpha(opacity=80)}#toast-container>:hover{-moz-box-shadow:0 0 12px #000;-webkit-box-shadow:0 0 12px #000;box-shadow:0 0 12px #000;opacity:1;-ms-filter:alpha(Opacity=100);filter:alpha(opacity=100);cursor:pointer}#toast-container>.toast-info{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=)!important}#toast-container>.toast-error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=)!important}#toast-container>.toast-success{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==)!important}#toast-container>.toast-warning{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=)!important}#toast-container.toast-bottom-center>div,#toast-container.toast-top-center>div{width:300px;margin:auto}#toast-container.toast-bottom-full-width>div,#toast-container.toast-top-full-width>div{width:96%;margin:auto}.toast{background-color:#030303}.toast-success{background-color:#51a351}.toast-error{background-color:#bd362f}.toast-info{background-color:#2f96b4}.toast-warning{background-color:#f89406}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:.4;-ms-filter:alpha(Opacity=40);filter:alpha(opacity=40)}@media all and (max-width:240px){#toast-container>div{padding:8px 8px 8px 50px;width:11em}#toast-container .toast-close-button{right:-.2em;top:-.2em}}@media all and (min-width:241px) and (max-width:480px){#toast-container>div{padding:8px 8px 8px 50px;width:18em}#toast-container .toast-close-button{right:-.2em;top:-.2em}}@media all and (min-width:481px) and (max-width:768px){#toast-container>div{padding:15px 15px 15px 50px;width:25em}}

:root {
    --bs-font-sans-serif: Roboto, sans-serif;
    --bs-primary: #002d46;
    --bs-primary-rgb: 4, 17, 33;
    --bs-link-hover-color: #666666;
    --bc-btn-primary-color: #337ab7;
    --bs-link-color: var(--bc-btn-primary-color);
}

a {
    color: var(--bc-btn-primary-color);
}

.btn-primary {
    --bs-btn-bg: var(--bc-btn-primary-color);
    --bs-btn-border-color: var(--bc-btn-primary-color);
    --bs-btn-hover-bg: var(--bc-btn-primary-color);
    --bs-btn-hover-border-color: var(--bc-btn-primary-color);
    --bs-btn-active-bg: var(--bc-btn-primary-color);
    --bs-btn-active-border-color: var(--bc-btn-primary-color);
    --bs-btn-disabled-bg: var(--bc-btn-primary-color);
}

.error-code {
    font-size: 175px;
    line-height: 1;
}

.navbar {
    --bs-navbar-padding-y: 0;
    --bs-navbar-brand-font-size: 1rem;
    border-bottom: 2px solid var(--bs-primary);
}

.navbar-brand .navbar-title {
    display: inline-block;
    font-family: 'Montserrat', sans-serif;
    padding-left: 6px;
    vertical-align: middle;
}

.navbar-brand .navbar-title .navbar-title-primary {
    font-size: 1.125rem;
    letter-spacing: -1px;
    margin: 1px 0 -10px 0;
    color: var(--bs-primary);
    text-transform: uppercase;
    font-weight: 700;
}

.navbar-brand .navbar-title .navbar-title-secondary {
    font-weight: 400;
    color: var(--bs-secondary);
}

.navbar-brand img {
    height: 39px;
    margin: 5px 5px 5px 0;
}

#dev-site, #staging-site {
    pointer-events: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    background-repeat: repeat;
}

#dev-site {
    background-image: url("//template.buncombecounty.org/2017/images/devsite.png");
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
    -moz-opacity: 0.5;
    -khtml-opacity: 0.5;
    opacity: 0.5;
}

#staging-site {
    background-image: url("//template.buncombecounty.org/2017/images/stagingsite.png");
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
    -moz-opacity: 0.5;
    -khtml-opacity: 0.5;
    opacity: 0.5;
}


.footer {
    background-color: #0b1522;
    font-size: .875rem;
    margin-top: 150px;
}

.footer #footer {
    color: #fff;
    text-align: center;
}

.footer .footer-logo {
    background-image: url(https://template.buncombecounty.org/2017/images/logo-landscape.gif);
    background-position: center;
    background-repeat: no-repeat;
    min-height: 150px;
    position: relative;
    top: -116px;
}

/* ========================================================================
   Print
   ======================================================================== */

@media print {
    @page {
        margin: 0.5in;
    }

    *,
    *::before,
    *::after {
        transition: none !important;
        animation: none !important;
    }

    .container {
        max-width: 100% !important;
        width: 100% !important;
    }

    #dev-site,
    #staging-site {
        display: none !important;
    }
}

/*Modify nav padding for shopping cart icon*/
.navbar-nav > li > a.shopping-cart {
    padding-top: 3.5px;
    padding-bottom: 3.5px;
}

    .navbar-nav > li > a.shopping-cart .fa-layers-counter {
        background-color: transparent;
        top: 3px;
        right: 7px;
        font-size: 1.5em;
        font-weight: 700;
    }

@media (min-width: 768px) {
    .navbar-nav > li > a.shopping-cart {
        padding-top: 8.5px;
        padding-bottom: 8.5px;
    }
}

/*Support icon to the left of alerts*/
.alert .alert-icon {
    display: table-cell;
    vertical-align: middle;
    padding: 5px;
    font-size: 2em;
}

.alert .alert-body {
    padding-left: 5px;
    display: table-cell;
}

/* ========================================================================
   Hero Section (Home page)
   Adapted from Tax Appeals hero pattern with background imagery
   ======================================================================== */

.hero-section {
    background:
        linear-gradient(135deg, rgba(0, 45, 70, 0.65), rgba(51, 122, 183, 0.65)),
        url('/Images/buncombe-mountains.jpg') center/cover no-repeat;
    color: white;
    padding: 80px 0;
    position: relative;
}

.hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('/Images/pattern.svg') repeat;
    opacity: 0.1;
    pointer-events: none;
}

.hero-section .container {
    position: relative;
    z-index: 1;
}

.hero-section h1 {
    font-weight: 700;
    text-shadow: 2px 2px 8px rgba(0,0,0,0.3);
}

.hero-section .lead {
    font-size: 1.25rem;
    opacity: 0.95;
    line-height: 1.6;
}

/* Service Fee Banner (full-width warning strip below hero) */

.service-fee-banner {
    position: relative;
    z-index: 3;
}

.service-fee-banner .alert {
    margin: 0;
    border-radius: 0;
    text-align: center;
    padding: 14px 20px;
    font-size: 1rem;
}

.hero-stat {
    display: flex;
    align-items: center;
    gap: 15px;
    background: rgba(255, 255, 255, 0.15);
    padding: 15px 20px;
    border-radius: 12px;
    backdrop-filter: blur(15px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.hero-stat:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: translateY(-2px);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
}

.hero-stat > .fa,
.hero-stat > .fas,
.hero-stat > span[class*="fa-"] {
    font-size: 1.75rem;
    opacity: 0.9;
    min-width: 30px;
    text-align: center;
}

.hero-stat div {
    display: flex;
    flex-direction: column;
}

.hero-stat strong {
    font-size: 1.05rem;
}

.hero-stat small {
    opacity: 0.9;
    font-size: 0.85rem;
}

/* Product Cards Section */

.product-cards-section {
    padding: 60px 0;
    background: white;
    position: relative;
    z-index: 2;
}

.product-card {
    background: white;
    border-radius: 15px;
    padding: 30px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);
    border: 1px solid #e9ecef;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    text-align: center;
}

.product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}

.product-card-icon {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, var(--bc-btn-primary-color), #2980b9);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    font-size: 32px;
    color: white;
    box-shadow: 0 5px 15px rgba(51, 122, 183, 0.3);
}

.product-card h3 {
    font-size: 1.4rem;
    font-weight: 600;
    margin-bottom: 12px;
    color: var(--bs-primary);
}

.product-card p {
    color: #6c757d;
    font-size: 0.95rem;
    line-height: 1.6;
    flex-grow: 1;
}

.product-card .btn {
    font-weight: 600;
    padding: 10px;
    margin-top: auto;
}

/* Hero animation */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(30px); }
    to   { opacity: 1; transform: translateY(0); }
}

.hero-section h1,
.hero-section .lead,
.hero-stat {
    animation: fadeInUp 0.8s ease-out;
}

.hero-stat:nth-child(2) { animation-delay: 0.15s; }
.hero-stat:nth-child(3) { animation-delay: 0.3s; }

.product-card {
    animation: fadeInUp 0.8s ease-out;
}
.product-card:nth-child(2) { animation-delay: 0.15s; }
.product-card:nth-child(3) { animation-delay: 0.3s; }

/* Hero responsive */
@media (max-width: 992px) {
    .hero-section {
        padding: 60px 0 40px;
    }

    .hero-section h1 {
        font-size: 2rem;
    }

    .hero-section .col-lg-5 {
        margin-top: 2rem;
    }
}

@media (max-width: 768px) {
    .hero-section {
        padding: 40px 0 30px;
    }

    .hero-section h1 {
        font-size: 1.75rem;
    }

    .hero-section .lead {
        font-size: 1.1rem;
    }

    .product-cards-section {
        padding: 40px 0;
    }
}

@media (max-width: 576px) {
    .hero-section h1 {
        font-size: 1.5rem;
    }

    .product-card-icon {
        width: 60px;
        height: 60px;
        font-size: 25px;
    }
}

/* ========================================================================
   Item Form Pages (Birth/Death/Marriage Certificate, Marriage License)
   ======================================================================== */

/* Page header — compact gradient banner (shared by Item, Cart, Checkout) */
.item-page-header,
.page-header-banner {
    background: linear-gradient(135deg, var(--bs-primary), var(--bc-btn-primary-color));
    color: white;
    padding: 28px 0;
}

.item-page-header .container,
.page-header-banner .container {
    display: flex;
    align-items: center;
    gap: 16px;
}

.item-page-header-icon,
.page-header-icon {
    width: 56px;
    height: 56px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    flex-shrink: 0;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.item-page-header h2,
.page-header-banner h2 {
    margin: 0;
    font-weight: 700;
    font-size: 1.75rem;
    text-shadow: 1px 1px 4px rgba(0,0,0,0.2);
}

.item-page-header p,
.page-header-banner p {
    margin: 4px 0 0;
    opacity: 0.9;
    font-size: 0.95rem;
}

/* Form area */
.item-form {
    padding: 40px 0;
}

.item-form .card {
    border: 1px solid #e9ecef;
    border-radius: 15px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.06);
    margin-bottom: 1.25rem;
    transition: box-shadow 0.3s ease;
}

.item-form .card:hover {
    box-shadow: 0 6px 20px rgba(0,0,0,0.1);
}

.item-form .card-body {
    padding: 1.5rem;
}

.item-form .card h3 {
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--bs-primary);
    margin-bottom: 1.25rem;
    display: flex;
    align-items: center;
    gap: 10px;
}

.item-form .card h3 .fa,
.item-form .card h3 .fas {
    color: var(--bc-btn-primary-color);
    font-size: 1.1rem;
    width: 32px;
    height: 32px;
    background: rgba(51, 122, 183, 0.1);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* Form group spacing (BS5 doesn't style .form-group) */
.item-form .form-group {
    margin-bottom: 1rem;
}

.item-form .form-label {
    font-weight: 500;
    color: #495057;
    margin-bottom: 0.375rem;
}

.item-form .form-control {
    border-radius: 8px;
    border: 1.5px solid #dee2e6;
    padding: 0.5rem 0.75rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.item-form .form-control:focus {
    border-color: var(--bc-btn-primary-color);
    box-shadow: 0 0 0 0.2rem rgba(51, 122, 183, 0.15);
}

.item-form .form-check {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

/* Sidebar */
.item-sidebar .card {
    position: sticky;
    top: 80px;
    border-radius: 15px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
    border: 1px solid #e9ecef;
}

.item-sidebar .card-body {
    padding: 1.5rem;
}

.item-sidebar .price-label {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #6c757d;
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.item-sidebar .price-value {
    font-size: 2rem;
    font-weight: 700;
    color: var(--bs-primary);
    line-height: 1;
    margin-bottom: 1.25rem;
}

.item-sidebar .qty-group {
    margin-bottom: 1.25rem;
}

.item-sidebar .qty-group label {
    font-weight: 500;
    color: #495057;
    margin-bottom: 0.375rem;
    display: block;
}

.item-sidebar .qty-group input {
    border-radius: 8px;
    border: 1.5px solid #dee2e6;
    text-align: center;
    font-size: 1.1rem;
    padding: 0.5rem;
    max-width: 100px;
}

.item-sidebar .btn-primary {
    padding: 12px;
    font-size: 1.05rem;
    font-weight: 600;
    border-radius: 10px;
}

/* Item/Cart/Checkout form responsive */
@media (max-width: 992px) {
    .item-page-header h2,
    .page-header-banner h2 {
        font-size: 1.5rem;
    }

    .item-sidebar .card,
    .order-summary .card {
        position: static;
    }
}

@media (max-width: 576px) {
    .item-page-header,
    .page-header-banner {
        padding: 20px 0;
    }

    .item-page-header-icon,
    .page-header-icon {
        width: 44px;
        height: 44px;
        font-size: 18px;
    }

    .item-page-header h2,
    .page-header-banner h2 {
        font-size: 1.25rem;
    }
}

/* ========================================================================
   Cart Page
   ======================================================================== */

.cart-table-card {
    border-radius: 15px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.06);
    border: 1px solid #e9ecef;
    overflow: hidden;
    margin-bottom: 1.5rem;
}

.cart-table-card .table {
    margin-bottom: 0;
}

.cart-table-card .table thead {
    background: linear-gradient(135deg, var(--bs-primary), var(--bc-btn-primary-color));
    color: white;
}

.cart-table-card .table thead th {
    border: none;
    padding: 12px 16px;
    font-weight: 600;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.cart-table-card .table tbody tr {
    transition: background-color 0.15s ease;
}

.cart-table-card .table tbody tr:hover {
    background-color: rgba(51, 122, 183, 0.04);
}

.cart-table-card .table tbody td {
    padding: 14px 16px;
    vertical-align: middle;
}

.cart-table-card .table tbody td a {
    font-weight: 500;
    text-decoration: none;
}

.cart-table-card .table tbody td a:hover {
    text-decoration: underline;
}

.cart-actions {
    border-radius: 15px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.06);
    border: 1px solid #e9ecef;
    padding: 1.5rem;
}

.cart-actions .subtotal {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--bs-primary);
}

/* Empty cart state */
.empty-cart {
    text-align: center;
    padding: 80px 20px;
}

.empty-cart-icon {
    width: 100px;
    height: 100px;
    background: rgba(51, 122, 183, 0.1);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 40px;
    color: var(--bc-btn-primary-color);
    margin-bottom: 1.5rem;
}

.empty-cart h3 {
    color: var(--bs-primary);
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.empty-cart p {
    color: #6c757d;
    margin-bottom: 1.5rem;
}

/* ========================================================================
   Checkout Page
   ======================================================================== */

.checkout-form .card {
    border: 1px solid #e9ecef;
    border-radius: 15px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.06);
    margin-bottom: 1.25rem;
    transition: box-shadow 0.3s ease;
}

.checkout-form .card:hover {
    box-shadow: 0 6px 20px rgba(0,0,0,0.1);
}

.checkout-form .card-body {
    padding: 1.5rem;
}

.checkout-form .card h3 {
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--bs-primary);
    margin-bottom: 1.25rem;
    display: flex;
    align-items: center;
    gap: 10px;
}

.checkout-form .card h3 .fa,
.checkout-form .card h3 .fas {
    color: var(--bc-btn-primary-color);
    font-size: 1.1rem;
    width: 32px;
    height: 32px;
    background: rgba(51, 122, 183, 0.1);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.checkout-form .form-group {
    margin-bottom: 1rem;
}

.checkout-form .form-label {
    font-weight: 500;
    color: #495057;
    margin-bottom: 0.375rem;
}

.checkout-form .form-control {
    border-radius: 8px;
    border: 1.5px solid #dee2e6;
    padding: 0.5rem 0.75rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.checkout-form .form-control:focus {
    border-color: var(--bc-btn-primary-color);
    box-shadow: 0 0 0 0.2rem rgba(51, 122, 183, 0.15);
}

/* Payment accordion refinement */
.checkout-form .payment-header {
    cursor: pointer;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: background-color 0.2s ease;
    border-radius: 0;
}

.checkout-form .payment-header:hover {
    background-color: rgba(51, 122, 183, 0.04);
}

.checkout-form .payment-header .fa {
    margin-right: 6px;
    color: var(--bc-btn-primary-color);
}

/* Order summary sidebar */
.order-summary .card {
    position: sticky;
    top: 80px;
    border-radius: 15px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
    border: 1px solid #e9ecef;
}

.order-summary .card-body {
    padding: 1.5rem;
}

.order-summary h3 {
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--bs-primary);
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 10px;
}

.order-summary h3 .fa {
    color: var(--bc-btn-primary-color);
}

.order-summary .table {
    font-size: 0.95rem;
}

.order-summary .table tfoot td {
    border-top: 2px solid #dee2e6;
    padding-top: 10px;
}

.order-summary .table tfoot tr:last-child td {
    font-size: 1.1rem;
    color: var(--bs-primary);
}

.order-summary .btn-primary {
    padding: 12px;
    font-size: 1.05rem;
    font-weight: 600;
    border-radius: 10px;
    margin-top: 1rem;
}

/* Processing modal polish */
#processingModal .modal-content {
    border-radius: 15px;
    border: none;
    box-shadow: 0 10px 40px rgba(0,0,0,0.2);
}

#processingModal .modal-body {
    padding: 2.5rem 1.5rem;
}

#processingModal .fa-spinner {
    color: var(--bc-btn-primary-color);
}

@media (max-width: 992px) {
    .order-summary .card {
        position: static;
    }
}

/* ========================================================================
   Print
   ======================================================================== */

@media print {
    /* Banner — flatten to text-only (no gradient dependency) */
    .page-header-banner {
        background: none !important;
        color: #000 !important;
        padding: 12px 0;
        border-bottom: 2px solid #333;
    }

    .page-header-banner h2 {
        text-shadow: none;
        color: #000 !important;
        font-size: 1.5rem;
    }

    .page-header-banner p {
        color: #333 !important;
        opacity: 1;
    }

    .page-header-icon {
        display: none !important;
    }

    /* Content area — tighten spacing */
    .item-form {
        padding: 20px 0;
    }

    /* Cards — flatten decorations, prevent page-break splits */
    .item-form .card,
    .order-summary .card {
        box-shadow: none !important;
        border: 1px solid #ccc !important;
        border-radius: 4px !important;
        break-inside: avoid;
    }

    .item-form .card:hover,
    .checkout-form .card:hover {
        box-shadow: none !important;
    }

    .order-summary .card {
        position: static !important;
    }

    /* Card section headings — strip icon backgrounds */
    .item-form .card h3,
    .order-summary h3 {
        color: #000 !important;
    }

    .item-form .card h3 .fa,
    .item-form .card h3 .fas,
    .order-summary h3 .fa,
    .order-summary h3 .fas {
        background: none !important;
        width: auto !important;
        height: auto !important;
        border-radius: 0 !important;
        color: #000 !important;
    }

    /* Links — print as plain black text */
    a,
    a[href] {
        color: #000 !important;
        text-decoration: none !important;
    }

    /* ID image — constrain size, keep together */
    .item-form .col-lg-4 img {
        max-height: 200px;
        width: auto;
        object-fit: contain;
    }

    .item-form .col-lg-4 > div {
        break-inside: avoid;
        border: 1px solid #ccc !important;
        border-radius: 4px !important;
    }

    /* FA icons in contact info — black */
    .fa, .fas {
        color: #000 !important;
    }

    /* Table borders */
    .order-summary .table tfoot td {
        border-top-color: #000 !important;
    }

    .order-summary .table tfoot tr:last-child td {
        color: #000 !important;
    }

    /* Disabled textarea — clean background, no resize handle */
    textarea.form-control {
        resize: none !important;
    }

    .form-control:disabled,
    .form-control[disabled] {
        background-color: #fff !important;
        opacity: 1 !important;
        -webkit-text-fill-color: #000;
    }
}

