/* ================================================
   Golden Marine - Theme Enhancements
   Colors: Primary #25AE4A | Secondary #003A7A
   ================================================ */

/* =================== CSS VARIABLES =================== */
:root {
    --gm-primary: #25AE4A;
    --gm-primary-dark: #1E9A3D;
    --gm-primary-light: #2EBF54;
    --gm-secondary: #003A7A;
    --gm-secondary-dark: #002B5C;
    --gm-secondary-light: #004A9E;
    --gm-text-dark: #1a1a2e;
    --gm-text-body: #4a4a5a;
    --gm-text-muted: #7a7a8a;
    --gm-bg-light: #f8f9fc;
    --gm-bg-white: #ffffff;
    --gm-border: #e2e6ed;
    --gm-shadow-sm: 0 2px 8px rgba(0, 58, 122, 0.08);
    --gm-shadow-md: 0 4px 16px rgba(0, 58, 122, 0.12);
    --gm-shadow-lg: 0 8px 32px rgba(0, 58, 122, 0.15);
    --gm-radius: 8px;
    --gm-radius-lg: 12px;
    --gm-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* =================== GLOBAL RESET =================== */
body {
    font-size: 14px;
    color: var(--gm-text-body);
    background-color: var(--gm-bg-light);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

a {
    color: var(--gm-primary);
    transition: var(--gm-transition);
}
a:hover {
    color: var(--gm-primary-dark);
    text-decoration: none;
}

/* =================== ANNOUNCEMENT BAR =================== */
.gm-announcement-bar {
    background: linear-gradient(90deg, var(--gm-primary) 0%, var(--gm-primary-dark) 100%);
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    padding: 8px 0;
    letter-spacing: 0.3px;
    box-shadow: 0 2px 6px rgba(37, 174, 74, 0.2);
}
.gm-announcement-bar marquee {
    line-height: 1.5;
}

/* =================== TOP NAVIGATION BAR =================== */
#pc-top-nav {
    background: var(--gm-secondary);
    box-shadow: none;
    border-bottom: 2px solid var(--gm-primary);
}
#pc-top-nav .container {
    padding-top: 2px;
    padding-bottom: 2px;
}
.pc-top-nav-left {
    margin: 4px 0;
}
.pc-top-nav-right {
    margin-top: 0;
    margin-bottom: 0;
}
#pc-top-nav .nav.navbar-nav > li > a,
#pc-top-nav .nav.navbar-nav > li > a .fa {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 13px;
    font-weight: 500;
    padding: 10px 12px;
    transition: var(--gm-transition);
}
#pc-top-nav .nav.navbar-nav > li > a:hover {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
}
#pc-top-nav .dropdown-menu {
    border: none;
    box-shadow: var(--gm-shadow-md);
    border-radius: var(--gm-radius);
    overflow: hidden;
    margin-top: 2px;
}
#pc-top-nav .dropdown-menu > li > a {
    padding: 8px 16px;
    color: var(--gm-text-dark);
    transition: var(--gm-transition);
}
#pc-top-nav .dropdown-menu > li > a:hover {
    background: var(--gm-bg-light);
    color: var(--gm-primary);
}

/* Search Icon */
a.reveal-search {
    background: rgba(255, 255, 255, 0.1);
    color: #fff !important;
    border-radius: 50%;
    width: 38px;
    height: 38px;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin: 6px 5px;
    transition: var(--gm-transition);
}
a.reveal-search:hover {
    background: var(--gm-primary);
    color: #fff !important;
}
a.reveal-search i {
    line-height: 1;
    font-size: 16px;
}

/* Search Form */
form.pc-search-input {
    background: var(--gm-bg-white);
    border-radius: var(--gm-radius);
    box-shadow: var(--gm-shadow-lg);
    border: 1px solid var(--gm-border);
    padding: 16px;
    width: 320px;
    margin-top: 5px;
}
form.pc-search-input p {
    color: var(--gm-text-muted);
    font-size: 12px;
    margin-bottom: 8px;
}
form.pc-search-input .form-control {
    border-radius: var(--gm-radius);
    border: 1px solid var(--gm-border);
    padding: 8px 12px;
    font-size: 14px;
}
form.pc-search-input .form-control:focus {
    border-color: var(--gm-primary);
    box-shadow: 0 0 0 3px rgba(37, 174, 74, 0.15);
}
form.pc-search-input button[type=submit] {
    background: var(--gm-primary);
    border-color: var(--gm-primary);
    border-bottom: none;
    border-radius: var(--gm-radius);
    font-size: 13px;
    padding: 8px 16px;
    font-weight: 600;
    transition: var(--gm-transition);
}
form.pc-search-input button[type=submit]:hover {
    background: var(--gm-primary-dark);
}

/* Cart in top nav */
div.pc-quick-cart li {
    background: rgba(255, 255, 255, 0.1);
    border-radius: var(--gm-radius);
    min-height: 42px;
    margin: 4px 5px;
    transition: var(--gm-transition);
}
div.pc-quick-cart li:hover {
    background: rgba(255, 255, 255, 0.2);
}
.pc-quick-cart > li > a:first-child {
    color: #fff !important;
    min-height: 42px;
    padding-top: 8px;
}
.pc-quick-cart > li > a:first-child::before {
    color: #fff;
}
.pc-quick-cart li a.dropdown-toggle {
    color: #fff !important;
}
.carboxCount {
    color: #fff;
}
.cartbox {
    filter: brightness(0) invert(1);
}
.pc-quick-cart .dropdown-menu {
    border: none;
    box-shadow: var(--gm-shadow-lg);
    border-radius: var(--gm-radius);
    overflow: hidden;
}

/* Register/Login Buttons */
div.pc-register-login a.btn {
    border-radius: 20px;
    padding: 6px 18px;
    font-size: 13px;
    font-weight: 600;
    margin: 8px 3px;
    transition: var(--gm-transition);
    border: none;
}
div.pc-register-login a.btn-primary {
    background: transparent;
    border: 1.5px solid rgba(255, 255, 255, 0.7);
    color: #fff;
}
div.pc-register-login a.btn-primary:hover {
    background: rgba(255, 255, 255, 0.15);
    border-color: #fff;
}
div.pc-register-login a.btn-success {
    background: var(--gm-primary);
    color: #fff;
}
div.pc-register-login a.btn-success:hover {
    background: var(--gm-primary-light);
    transform: translateY(-1px);
}

/* User dropdown */
#pc-top-nav .navbar-right > li.dropdown > a {
    color: rgba(255, 255, 255, 0.9) !important;
}

/* =================== ANNOUNCEMENT MARQUEE =================== */
div[style*="marquee"] {
    border-radius: 0 !important;
    width: 100% !important;
    box-shadow: none !important;
    font-size: 15px !important;
    padding: 8px 0 !important;
    letter-spacing: 0.5px;
}

/* =================== HEADER =================== */
#pc-header {
    background: var(--gm-bg-white);
    padding: 12px 0;
    border-bottom: 1px solid var(--gm-border);
}
#pc-header .col-sm-12.wide {
    padding-top: 15px;
}
.brand {
    min-height: auto;
    padding: 8px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.brand img {
    max-height: 80px;
    transition: var(--gm-transition);
}
.brand img:hover {
    opacity: 0.9;
}
.brand img.suzuki-logo {
    max-height: 70px;
    float: none;
}

/* =================== DESKTOP NAVIGATION =================== */
#pcNavContainer45 {
    margin-top: 0;
}
#pcNav45 {
    background: var(--gm-secondary);
    border-radius: var(--gm-radius);
    padding: 0 8px;
    display: flex;
    justify-content: center;
    box-shadow: var(--gm-shadow-sm);
}
#pcNav45 a {
    color: rgba(255, 255, 255, 0.9) !important;
    font-weight: 600;
    font-size: 14px;
    padding: 12px 24px;
    display: inline-block;
    transition: var(--gm-transition);
    position: relative;
    text-decoration: none;
    border: none !important;
}
#pcNav45 a:hover {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.1);
}
#pcNav45 a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%) scaleX(0);
    width: 60%;
    height: 3px;
    background: var(--gm-primary);
    border-radius: 3px 3px 0 0;
    transition: transform 0.3s ease;
}
#pcNav45 a:hover::after {
    transform: translateX(-50%) scaleX(1);
}

/* =================== MOBILE NAVIGATION =================== */
.mean-container .mean-bar {
    background: var(--gm-secondary);
    min-height: 48px;
    padding: 3px 0;
}
.mean-container .mean-nav {
    background: var(--gm-secondary);
}
.mean-container .mean-nav ul li a {
    color: rgba(255, 255, 255, 0.9);
    font-size: 14px;
    padding: 12px 5%;
    border-top-color: rgba(255, 255, 255, 0.1);
}
.mean-container .mean-nav ul li a:hover {
    background: rgba(255, 255, 255, 0.08);
}
.mean-container a.meanmenu-reveal span {
    background: #fff;
    height: 3px;
    border-radius: 2px;
}
.mean-container a.meanmenu-reveal {
    color: #fff;
    padding: 14px 14px 12px 14px;
}

/* Mobile Cart */
.mobile-cart .pc-quick-cart {
    background: var(--gm-secondary);
    border-radius: 0 0 var(--gm-radius) 0;
    padding: 4px 8px;
}
.mobile-cart .pc-quick-cart li {
    background: transparent;
}

/* =================== MAIN CONTENT AREA =================== */
#pcMainArea {
    padding-top: 30px;
    padding-bottom: 80px;
}
#pcMain {
    padding: 0;
}
#pcMain h1 {
    font-size: 28px;
    font-weight: 700;
    color: var(--gm-secondary);
    margin-bottom: 20px;
    position: relative;
    padding-bottom: 12px;
}
#pcMain h1::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 60px;
    height: 3px;
    background: var(--gm-primary);
    border-radius: 3px;
}
html[dir="ltr"] #pcMain h1::after {
    right: auto;
    left: 0;
}

/* =================== PRODUCT CARDS =================== */
.pcShowProductsH {
    background: var(--gm-bg-white);
    border: 1px solid var(--gm-border);
    border-radius: var(--gm-radius-lg);
    box-shadow: var(--gm-shadow-sm);
    overflow: hidden;
    transition: var(--gm-transition);
    margin-bottom: 20px;
    padding: 15px !important;
}
.pcShowProductsH:hover {
    transform: translateY(-4px);
    box-shadow: var(--gm-shadow-md);
    border-color: var(--gm-primary);
}
.pcShowProductH {
    background: var(--gm-bg-white);
    border: 1px solid var(--gm-border);
    border-radius: var(--gm-radius-lg);
    box-shadow: var(--gm-shadow-sm);
    overflow: hidden;
    transition: var(--gm-transition);
    margin-bottom: 20px;
    padding: 0 !important;
}
.pcShowProductH:hover {
    transform: translateY(-4px);
    box-shadow: var(--gm-shadow-md);
    border-color: var(--gm-primary);
}

/* Product Buttons Area */
.pcShowProductButtonsH {
    padding: 8px 0 4px;
    text-align: center;
}

/* Product Image */
.pcShowProductImageH {
    background: var(--gm-bg-light);
    padding: 15px;
    text-align: center;
    overflow: hidden;
    position: relative;
}
.pcShowProductImageH img {
    max-height: 160px;
    transition: transform 0.4s ease;
    object-fit: contain;
}
.pcShowProductH:hover .pcShowProductImageH img {
    transform: scale(1.05);
}

/* Product Info */
#pcMain .pcShowProductH .pcShowProductInfoH {
    padding: 12px 14px 14px;
    text-align: right;
}
html[dir="ltr"] #pcMain .pcShowProductH .pcShowProductInfoH {
    text-align: left;
}

/* Product Name */
.pcShowProductInfoH .pcItemDescription {
    color: var(--gm-text-dark) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.4;
    display: block;
    margin-bottom: 6px;
    min-height: 36px;
    overflow: hidden;
}
.pcShowProductInfoH .pcItemDescription:hover {
    color: var(--gm-primary) !important;
}

/* Product SKU */
.pcShowProductInfoH .pcItemSKU {
    color: var(--gm-text-muted) !important;
    font-size: 11px !important;
    display: block;
    margin-bottom: 8px;
}

/* Product Price */
.pcShowProductPrice {
    font-size: 16px;
    font-weight: 700 !important;
    color: var(--gm-primary) !important;
    display: block;
    margin: 8px 0 10px;
}
.pcShowProductPrice span {
    color: var(--gm-primary);
}

/* =================== BUTTONS =================== */
.pcButton {
    background: linear-gradient(135deg, var(--gm-primary-light) 0%, var(--gm-primary-dark) 100%) !important;
    border: none !important;
    border-radius: var(--gm-radius) !important;
    box-shadow: 0 2px 6px rgba(37, 174, 74, 0.3) !important;
    padding: 8px 20px !important;
    transition: var(--gm-transition) !important;
    text-transform: none !important;
    letter-spacing: 0.3px;
}
.pcButton:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(37, 174, 74, 0.4) !important;
}
.pcButton .pcButtonText {
    font-size: 13px !important;
    font-weight: 600 !important;
}

/* More Details Button */
.pcButtonMoreDetails {
    background: linear-gradient(135deg, var(--gm-secondary-light) 0%, var(--gm-secondary) 100%) !important;
    padding: 6px 14px !important;
    box-shadow: 0 2px 6px rgba(0, 58, 122, 0.3) !important;
}
.pcButtonMoreDetails:hover {
    box-shadow: 0 4px 12px rgba(0, 58, 122, 0.4) !important;
}

/* Add to Cart Button */
.pcButtonAddToCart {
    background: linear-gradient(135deg, var(--gm-primary-light) 0%, var(--gm-primary-dark) 100%) !important;
}

/* Checkout Button */
.pcButtonCheckout {
    background: linear-gradient(135deg, var(--gm-primary-light) 0%, var(--gm-primary) 100%) !important;
    padding: 12px 32px !important;
    border-radius: 25px !important;
    font-size: 15px !important;
    box-shadow: 0 4px 15px rgba(37, 174, 74, 0.35) !important;
}
.pcButtonCheckout:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(37, 174, 74, 0.45) !important;
}
.pcButtonCheckout .pcButtonText {
    font-size: 15px !important;
}

/* Continue Shopping Button */
.pcButtonContinueShopping {
    background: var(--gm-bg-white) !important;
    color: var(--gm-secondary) !important;
    border: 2px solid var(--gm-secondary) !important;
    box-shadow: none !important;
}
.pcButtonContinueShopping .pcButtonText {
    color: var(--gm-secondary) !important;
}
.pcButtonContinueShopping:hover {
    background: var(--gm-secondary) !important;
    box-shadow: var(--gm-shadow-sm) !important;
}
.pcButtonContinueShopping:hover .pcButtonText {
    color: #fff !important;
}

/* View Cart Button */
.pcButtonViewCart {
    width: 100%;
    text-align: center;
}

/* Not Available */
.pcButtonNotAvailable {
    background: none !important;
    box-shadow: none !important;
    border: 1px solid #ddd !important;
}
.pcButton.pcButtonNotAvailable .pcButtonText {
    color: var(--gm-text-muted) !important;
}

/* General btn overrides */
.btn-primary {
    background: var(--gm-primary) !important;
    border-color: var(--gm-primary) !important;
    border-radius: var(--gm-radius);
    transition: var(--gm-transition);
}
.btn-primary:hover, .btn-primary:focus {
    background: var(--gm-primary-dark) !important;
    border-color: var(--gm-primary-dark) !important;
    box-shadow: 0 2px 8px rgba(37, 174, 74, 0.3);
}
.btn-success {
    background: var(--gm-primary) !important;
    border-color: var(--gm-primary) !important;
    border-radius: var(--gm-radius);
}
.btn-success:hover {
    background: var(--gm-primary-dark) !important;
}

/* =================== TYPOGRAPHY =================== */
h1 {
    color: var(--gm-secondary);
    font-weight: 700;
    letter-spacing: -0.02em;
}
h2 {
    color: var(--gm-secondary);
    font-weight: 600;
}
h3 {
    color: var(--gm-secondary);
    font-weight: 600;
}

/* =================== FORMS =================== */
textarea, input[type=text], input[type=email], input[type=password], input[type=number], select {
    border: 1.5px solid var(--gm-border);
    border-radius: var(--gm-radius);
    padding: 8px 14px;
    font-size: 14px;
    color: var(--gm-text-dark);
    transition: var(--gm-transition);
    box-shadow: none;
}
textarea:focus, input:focus, select:focus {
    border-color: var(--gm-primary) !important;
    box-shadow: 0 0 0 3px rgba(37, 174, 74, 0.12) !important;
    outline: none;
}
.form-control {
    border-radius: var(--gm-radius);
    border: 1.5px solid var(--gm-border);
    padding: 8px 14px;
    height: auto;
}
.form-control:focus {
    border-color: var(--gm-primary);
    box-shadow: 0 0 0 3px rgba(37, 174, 74, 0.12);
}

/* =================== SLIDER =================== */
#pc-slideshow {
    background: transparent;
    margin-bottom: 25px;
}
.theme-productcart .nivoSlider {
    border-radius: var(--gm-radius-lg);
    overflow: hidden;
    box-shadow: var(--gm-shadow-md);
}
.theme-productcart .nivo-controlNav a {
    background: rgba(0, 58, 122, 0.25);
    width: 10px;
    height: 10px;
    margin: 4px;
    transition: var(--gm-transition);
}
.theme-productcart .nivo-controlNav a.active {
    background: var(--gm-primary);
    width: 24px;
    border-radius: 10px;
}
.theme-productcart .nivo-caption {
    background: linear-gradient(0deg, rgba(0, 58, 122, 0.85) 0%, transparent 100%);
    font-size: 20px;
    font-weight: 600;
    padding: 30px 20px 20px;
}

/* =================== PRODUCT DETAIL PAGE =================== */
#pcViewProductL {
    background: var(--gm-bg-white);
    border-radius: var(--gm-radius-lg);
    padding: 24px;
    box-shadow: var(--gm-shadow-sm);
    border: 1px solid var(--gm-border);
    margin-top: 15px;
}
.pcViewProductLeft {
    background: var(--gm-bg-light);
    border-radius: var(--gm-radius-lg);
    padding: 20px;
    text-align: center;
    border: 1px solid var(--gm-border);
}
.pcViewProductLeft img, .pcShowMainImage img {
    border-radius: var(--gm-radius);
    max-width: 100%;
    transition: transform 0.3s ease;
}
.pcViewProductLeft img:hover, .pcShowMainImage img:hover {
    transform: scale(1.03);
}
.pcViewProductRight {
    padding: 0 20px;
}
.pcViewProductRight h1 {
    font-size: 22px;
    margin-bottom: 15px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--gm-border);
}

/* Product detail info rows */
.pcShowProductSku,
.pcShowProductWeight {
    padding: 6px 0;
    font-size: 14px;
    color: var(--gm-text-body);
    border-bottom: 1px solid var(--gm-bg-light);
}
.pcShowProductSku strong {
    color: var(--gm-secondary);
}
.pcShowPrices {
    margin: 15px 0;
    padding: 12px 16px;
    background: linear-gradient(135deg, rgba(37, 174, 74, 0.05) 0%, rgba(0, 58, 122, 0.05) 100%);
    border-radius: var(--gm-radius);
    border: 1px solid rgba(37, 174, 74, 0.15);
}
.pcShowPrices .pcShowProductPrice {
    font-size: 22px;
    margin: 0;
}
.pcShowProductMainPrice {
    font-size: 14px;
    color: var(--gm-text-body);
}
.pcShowProductSavings {
    font-size: 22px;
    font-weight: 700;
    color: var(--gm-primary) !important;
}

/* Add to cart section in product detail */
.pcShowAddToCart {
    background: var(--gm-bg-light);
    padding: 16px;
    border-radius: var(--gm-radius);
    margin: 15px 0;
    border: 1px solid var(--gm-border);
    display: flex;
    align-items: center;
    gap: 12px;
}
.pcShowAddToCart form {
    display: flex;
    align-items: center;
    gap: 12px;
}
.pcShowAddToCart .form-control {
    width: 70px !important;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    border-radius: var(--gm-radius);
}

/* Description Section */
.pcViewProductBottom {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 2px solid var(--gm-border);
}
.pcSectionTitle {
    font-size: 18px;
    font-weight: 700;
    color: var(--gm-secondary);
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--gm-primary);
    display: inline-block;
}
.pcSectionContents {
    font-size: 14px;
    line-height: 1.7;
    color: var(--gm-text-body);
}

/* Breadcrumb / Page nav */
.pcPageNav {
    font-size: 13px;
    color: var(--gm-text-muted);
    margin-bottom: 15px;
    padding: 8px 14px;
    background: var(--gm-bg-light);
    border-radius: var(--gm-radius);
}
.pcPageNav a {
    color: var(--gm-secondary);
    font-weight: 500;
}
.pcPageNav a:hover {
    color: var(--gm-primary);
}

/* =================== CART PAGE =================== */
#pcCart {
    background: var(--gm-bg-white);
    border-radius: var(--gm-radius-lg);
    padding: 20px;
    box-shadow: var(--gm-shadow-sm);
    border: 1px solid var(--gm-border);
}
.pcTableHeader {
    background: var(--gm-secondary);
    color: #fff;
    border-radius: var(--gm-radius) var(--gm-radius) 0 0;
    padding: 12px 0;
    font-weight: 600;
    font-size: 13px;
}
.pcShoppingCartRow {
    border-bottom: 1px solid var(--gm-border);
    padding: 12px 0;
    transition: var(--gm-transition);
}
.pcShoppingCartRow:hover {
    background: var(--gm-bg-light);
}
.pcViewCartMain img {
    border-radius: var(--gm-radius);
    border: 1px solid var(--gm-border);
}

/* Order Summary */
#pcViewCartSummary {
    margin-top: 20px;
}
#pcViewCartSummary h2 {
    font-size: 20px;
    font-weight: 700;
    color: var(--gm-secondary);
    padding-bottom: 10px;
    border-bottom: 2px solid var(--gm-primary);
    display: inline-block;
}
.pcEstimateShipping {
    background: var(--gm-bg-light);
    padding: 12px 16px;
    border-radius: var(--gm-radius);
    border: 1px solid var(--gm-border);
    margin: 10px 0;
    font-size: 14px;
}
.pcViewCartOrderSubTotal,
.pcViewCartOrderTotal {
    padding: 8px 0;
}

/* Cart Buttons */
#pcCartButtonsTop {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

/* =================== RADIO BUTTONS =================== */
.radio label {
    padding: 10px 14px;
    cursor: pointer;
    transition: var(--gm-transition);
    border-radius: var(--gm-radius);
    display: block;
}
.radio label:hover {
    background: var(--gm-bg-light);
}
.radio input[type="radio"] {
    margin-top: 3px;
}

/* Shipping company selection */
#shippingCompaniesSection .radio {
    border: 1.5px solid var(--gm-border) !important;
    border-radius: var(--gm-radius) !important;
    margin: 6px 0 !important;
    padding: 4px !important;
    transition: var(--gm-transition);
}
#shippingCompaniesSection .radio:hover {
    border-color: var(--gm-primary) !important;
    background: rgba(37, 174, 74, 0.04);
}

/* =================== CATEGORIES PAGE =================== */
.pcShowProducts {
    margin: 0 -8px;
}
.pcColCount4, .pcColWidth25 {
    padding: 0 8px !important;
}
.pcColCount3, .pcColWidth33 {
    padding: 0 8px !important;
}

/* =================== PAGINATION =================== */
.pagination > li > a,
.pagination > li > span {
    color: var(--gm-secondary);
    border-color: var(--gm-border);
    border-radius: var(--gm-radius) !important;
    margin: 0 2px;
    padding: 6px 14px;
    transition: var(--gm-transition);
}
.pagination > .active > a,
.pagination > .active > span {
    background: var(--gm-primary) !important;
    border-color: var(--gm-primary) !important;
    color: #fff;
}
.pagination > li > a:hover {
    background: var(--gm-bg-light);
    color: var(--gm-primary);
    border-color: var(--gm-primary);
}

/* =================== FOOTER =================== */
#footer.navbar {
    background: var(--gm-secondary);
    border: none;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
    padding: 8px 0;
    min-height: auto;
}
#footer .nav > li > a {
    color: rgba(255, 255, 255, 0.75) !important;
    font-size: 13px;
    padding: 8px 12px;
    transition: var(--gm-transition);
}
#footer .nav > li > a:hover {
    color: #fff !important;
    background: transparent;
}
#footer .copyright a {
    color: rgba(255, 255, 255, 0.5) !important;
    font-size: 12px;
}
#footer #pcSocialLinks li {
    margin: 0 2px;
}
#footer #pcSocialLinks li img {
    height: 32px;
    border-radius: 50%;
    transition: var(--gm-transition);
    opacity: 0.8;
}
#footer #pcSocialLinks li img:hover {
    opacity: 1;
    transform: translateY(-2px);
}

/* =================== LEFT NAV =================== */
.left-nav, .rightbox {
    border: 1px solid var(--gm-border);
    border-radius: var(--gm-radius);
    overflow: hidden;
    box-shadow: var(--gm-shadow-sm);
}
.left-nav h3, .rightbox h3 {
    background: var(--gm-secondary);
    color: #fff;
    border-bottom: none;
    padding: 10px 14px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 0;
}
.leftside li {
    border-bottom-color: var(--gm-border) !important;
}

/* =================== QUICK CART DROPDOWN =================== */
#pcCartDropDown {
    min-width: 320px;
    padding: 12px;
}
.pcCartRowMain {
    padding: 8px 0;
    border-bottom: 1px solid var(--gm-border);
}
.pcQuickCartImage img {
    border-radius: var(--gm-radius);
    border: 1px solid var(--gm-border);
}
.pcQuickCartDescription a {
    color: var(--gm-text-dark) !important;
    font-weight: 600;
}
.pcQuickCartDescription .pcQuickCartQtyText {
    color: var(--gm-text-muted);
    font-size: 12px;
}

/* =================== ALERTS / MESSAGES =================== */
.pcInfoMessage {
    background: var(--gm-bg-light);
    border: 1px solid var(--gm-border);
    border-radius: var(--gm-radius);
    padding: 12px 16px;
}
.pcSuccessMessage {
    background: rgba(37, 174, 74, 0.08);
    border: 1px solid rgba(37, 174, 74, 0.2);
    border-radius: var(--gm-radius);
    color: var(--gm-primary-dark);
    padding: 12px 16px;
}
.pcErrorMessage {
    background: rgba(220, 53, 69, 0.08);
    border: 1px solid rgba(220, 53, 69, 0.2);
    border-radius: var(--gm-radius);
    color: #c9302c;
    padding: 12px 16px;
}

/* =================== TABLES =================== */
.table {
    border-radius: var(--gm-radius);
    overflow: hidden;
}
.table thead th {
    background: var(--gm-secondary);
    color: #fff;
    font-weight: 600;
    font-size: 13px;
    border: none;
    padding: 10px 12px;
}
.table tbody td {
    vertical-align: middle;
    font-size: 13px;
    padding: 10px 12px;
}
.table-striped > tbody > tr:nth-of-type(odd) {
    background: var(--gm-bg-light);
}

/* =================== MODAL =================== */
.modal-content {
    border-radius: var(--gm-radius-lg);
    border: none;
    box-shadow: var(--gm-shadow-lg);
    overflow: hidden;
}
.modal-header {
    background: var(--gm-secondary);
    color: #fff;
    border-bottom: none;
    padding: 14px 20px;
}
.modal-header .modal-title {
    color: #fff;
}
.modal-header .close {
    color: #fff;
    opacity: 0.7;
}
.modal-body {
    padding: 20px;
}
.modal-footer {
    border-top: 1px solid var(--gm-border);
    padding: 12px 20px;
}

/* =================== ACCEPTED PAYMENTS =================== */
#pcAcceptedPayments li img {
    border-radius: 4px;
    opacity: 0.7;
    transition: var(--gm-transition);
}
#pcAcceptedPayments li img:hover {
    opacity: 1;
}

/* =================== BREADCRUMB =================== */
.pcBreadcrumb {
    font-size: 13px;
    padding: 8px 0;
    color: var(--gm-text-muted);
}
.pcBreadcrumb a {
    color: var(--gm-secondary);
}
.pcBreadcrumb a:hover {
    color: var(--gm-primary);
}

/* =================== LOGIN / REGISTER PAGES =================== */
.pcForms {
    max-width: 500px;
    margin: 0 auto;
}
.pcForms .form-group label {
    font-weight: 600;
    color: var(--gm-text-dark);
    font-size: 13px;
    margin-bottom: 6px;
}

/* =================== PRODUCT STOCK =================== */
#pcMain .pcShowProductStock {
    color: var(--gm-primary);
    font-weight: 600;
    font-size: 12px;
}

/* =================== FEATURED PRODUCTS =================== */
#pcFeaturedProductsList #pcSpecials,
#pcFeaturedProductsList #pcNewArrivals,
#pcFeaturedProductsList #pcBestSellers {
    background: var(--gm-bg-white);
    border: 1px solid var(--gm-border);
    border-radius: var(--gm-radius);
    box-shadow: var(--gm-shadow-sm);
}

/* =================== OPC PANELS =================== */
#acc1 .active > .panel-heading {
    background: var(--gm-primary) !important;
    border-color: var(--gm-primary) !important;
}
#acc1 .panel-group .panel-body {
    border-color: var(--gm-primary) !important;
}

/* =================== SCROLLBAR STYLING =================== */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: var(--gm-bg-light);
}
::-webkit-scrollbar-thumb {
    background: var(--gm-primary);
    border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--gm-primary-dark);
}

/* =================== SELECTION COLOR =================== */
::selection {
    background: rgba(37, 174, 74, 0.2);
    color: var(--gm-text-dark);
}

/* =================== LOADING ANIMATION =================== */
.btn-loading:disabled,
.loading-btn:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

/* =================== RESPONSIVE ADJUSTMENTS =================== */
@media screen and (max-width: 991px) {
    .brand {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .brand img.suzuki-logo {
        margin-top: 8px;
    }
    #pcNav45 {
        border-radius: 0;
    }
}

@media screen and (max-width: 767px) {
    #pc-top-nav {
        padding: 4px 0;
    }
    .brand img {
        max-height: 60px;
        max-width: 200px;
    }
    .brand img.suzuki-logo {
        max-height: 50px;
        max-width: 200px;
    }
    #pcMainArea {
        padding-top: 15px;
        padding-bottom: 70px;
    }
    #pcMain h1 {
        font-size: 22px;
    }
    .pcShowProductH {
        margin-bottom: 15px;
    }
    .pcShowProductImageH img {
        max-height: 130px;
    }
    #pcCart {
        padding: 12px;
    }
    .pcTableHeader {
        font-size: 11px;
        padding: 8px 0;
    }
    .pcButtonCheckout {
        width: 100%;
        text-align: center;
    }
    #pcCartButtonsTop {
        flex-direction: column;
        gap: 10px;
    }
    .pcForms {
        padding: 0 10px;
    }
    #footer .nav > li > a {
        font-size: 11px;
        padding: 6px 8px;
    }
    #contact-info {
        text-align: center;
        padding: 8px 0;
    }
    #contact-info #pcSocialLinks {
        text-align: center;
    }
}

@media screen and (max-width: 480px) {
    .pcShowProductInfoH .pcItemDescription {
        font-size: 12px !important;
        min-height: auto;
    }
    .pcShowProductPrice {
        font-size: 14px;
    }
    #pcMain h1 {
        font-size: 20px;
    }
}

/* =================== RTL ADJUSTMENTS =================== */
html[dir="rtl"] #pcNav45 {
    direction: rtl;
}
html[dir="rtl"] .pcEstimateShipping {
    text-align: right;
}
html[dir="rtl"] #pcMain h1::after {
    left: auto;
    right: 0;
}
html[dir="rtl"] div.pc-search {
    float: right;
}
html[dir="rtl"] div.pc-quick-cart {
    float: right;
}
html[dir="rtl"] div.pc-register-login {
    float: right;
}
html[dir="rtl"] div.pc-social-links {
    float: right;
}

/* =================== PRINT STYLES =================== */
@media print {
    #pc-top-nav,
    #footer,
    .mobile-cart,
    .mean-container,
    #pcNavContainer45,
    div[style*="marquee"] {
        display: none !important;
    }
    #pc-header {
        border-bottom: 2px solid var(--gm-primary);
    }
    .pcShowProductH {
        box-shadow: none;
        border: 1px solid #ddd;
    }
}
