/* ========================
UIkit bootstrap-ecommerce.com
===================== */

/* ==================== INCLUDE FONTS ======================= */

@import url("../fonts/roboto/font.css");

html {
    font-size: 15px;
    scroll-behavior: smooth;
}

/* ================== SITE COLORS  =================== */

/* BLACK */

.site-black {
    color: #161616;
}

.bg-site-black {
    background-color: #161616;
}

/* GREY */

.dark-grey {
    color: #5b5656 !important;
}

.bg-dark-grey {
    background-color: #5b5656 !important;
}
.container {
    max-width: 1350px;
}
/* LIGHT GREY */

.light-grey {
    color: #b5afb0 !important;
}

.bg-light-grey {
    background-color: #b5afb0 !important;
}

/* RED */

.red {
    color: #e50606 !important;
}

.bg-red {
    background-color: #e50606 !important;
}

/* ================== END OF SITE COLORS  =================== */

/* ================== HELPERS  =================== */
a {
    text-decoration: none;
}

a:hover {
    text-decoration: none;
}

.w-100 {
    width: 100%;
}

.img-wrap {
    text-align: center;
    display: block;
}

.img-wrap img {
    max-width: 100%;
}

.icon-wrap {
    text-align: center;
}

.zoom-in {
    -webkit-transition: -webkit-transform ease 0.3s;
    transition: -webkit-transform ease 0.3s;
    transition: transform ease 0.3s;
    transition: transform ease 0.3s, -webkit-transform ease 0.3s;
}

.zoom-wrap:hover .zoom-in {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    -webkit-transition: -webkit-transform ease 0.3s;
    transition: -webkit-transform ease 0.3s;
    transition: transform ease 0.3s;
    transition: transform ease 0.3s, -webkit-transform ease 0.3s;
}

.word-break {
    word-break: break-word;
}

::-webkit-inner-spin-button {
    display: none;
}

/* =================  DEFINED VARIABLES =================== */

.icon-xs,
.icon-sm,
.icon-md,
.icon-lg {
    display: inline-block;
    text-align: center;
}

.icon-xs {
    width: 32px;
    height: 32px;
    line-height: 32px;
    font-size: 16px;
}

.icon-sm {
    width: 42px;
    height: 42px;
    line-height: 42px;
    font-size: 22px;
}

.icon-md {
    width: 60px;
    height: 60px;
    line-height: 60px;
    font-size: 32px;
}

.icon-lg {
    width: 80px;
    height: 80px;
    line-height: 80px;
    font-size: 42px;
}

.img-xs,
.img-sm,
.img-md,
.img-lg {
    -o-object-fit: cover;
    object-fit: cover;
}

.img-xs {
    width: 40px;
    height: 40px;
}

.img-sm {
    width: 80px;
    height: 80px;
}

.img-md {
    width: 160px;
    height: 160px;
}

.img-lg {
    width: 400px;
    height: 300px;
}

.center-xy {
    top: 50%;
    left: 50%;
    position: absolute;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.center-y {
    top: 50%;
    position: absolute;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.center-x {
    left: 50%;
    position: absolute;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.center {
    margin-left: auto;
    margin-right: auto;
}

.overflow-h {
    overflow: hidden;
}

.flip-h {
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
}

.card-body-lg {
    padding: 2rem;
}

.shadow-in {
    -webkit-box-shadow: inset 0 2px 4px rgba(51, 51, 51, 0.4);
    box-shadow: inset 0 2px 4px rgba(51, 51, 51, 0.4);
}

.vh-100 {
    height: 100vh;
}

.vh-90 {
    height: 90vh;
}

.vh-80 {
    height: 80vh;
}

.vh-70 {
    height: 70vh;
}

.vh-60 {
    height: 60vh;
}

.vh-50 {
    height: 50vh;
}

[class*="hover-"] {
    -webkit-transition: 0.5s;
    transition: 0.5s;
}

.hover-shadow:hover {
    -webkit-box-shadow: 0 4px 15px rgba(51, 51, 51, 0.5);
    box-shadow: 0 4px 15px rgba(51, 51, 51, 0.5);
    -webkit-transition: 0.5s;
    transition: 0.5s;
}

.hover-bg:hover {
    background: #007bff;
    /* For browsers that do not support gradients */
    /* For Safari 5.1 to 6.0 */
    /* For Opera 11.1 to 12.0 */
    /* For Firefox 3.6 to 15 */
    background: -webkit-gradient(
        linear,
        left top,
        right bottom,
        from(#007bff),
        to(#007bff)
    );
    background: linear-gradient(to bottom right, #007bff, #007bff);
    /* Standard syntax */
    -webkit-transition: 0.5s;
    transition: 0.5s;
}

.hover-zoom:hover {
    -webkit-transition: 0.5s;
    transition: 0.5s;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
}

/* ========== input with icon ==========  */

.input-icon {
    position: relative;
}

.input-icon i + input,
.input-icon i + select {
    padding-left: 36px;
}

.input-icon i {
    position: absolute;
    color: #ccc;
    z-index: 9;
    left: 7px;
    top: 4px;
    width: 24px;
    text-align: center;
    padding: 7px 0;
}

.form-inline .form-control-sm[type="number"] {
    max-width: 100px;
}

/* ========== borders ========== */

.border {
    border: 1px solid #dee2e6;
}

.border-left-white {
    border-left: 1px solid rgba(255, 255, 255, 0.3);
}

.border-right-white {
    border-right: 1px solid rgba(255, 255, 255, 0.3);
}

.border-top-white {
    border-top: 1px solid rgba(255, 255, 255, 0.3);
}

.border-bottom-white {
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}

.circle {
    border-radius: 100%;
}

.round {
    border-radius: 200px;
}

/* ============== spacing ============== */

.padding-y {
    padding-top: 32px;
    padding-bottom: 32px;
}

.form-noborder input,
.form-noborder select,
.form-noborder .btn {
    border: none;
}

.form-noborder select.form-control-lg:not([size]):not([multiple]) {
    height: 2.875rem;
}

/* all clearfix */

article:after,
.form-group:after {
    display: block;
    clear: both;
    content: "";
}

.border-cols:not(:last-child) {
    border-bottom: 1px solid #dee2e6;
}

.border-cols > [class*="col-"] {
    overflow: hidden;
    border-color: #dee2e6;
    border-width: 0 0 0 1px;
    border-style: solid;
}

/* -------------------- small grid gutter --------------------- */

.bg-white {
    background-color: #fff !important;
}

/* ==================  title element ================ */

.white {
    color: #fff !important;
}

.black,
.dark {
    color: #000;
}

.bg-black {
    background-color: #000000 !important;
}

.bg-red {
    background-color: rgb(255, 0, 0);
}

.fixed-header {
    position: sticky;
    top: 0;
    z-index: 101;
    background: #ffff;
}

.header-link {
    color: #fff;
    padding: 5px 10px;
    display: block;
}

.top-header {
    padding: 5px;
    font-weight: 600;
}

.search-input {
    border-radius: 30px !important;
}

.search-btn {
    border-top-right-radius: 30px;
    border-bottom-right-radius: 30px;
    border-color: transparent;
    color: #000;
}

.top-header-nav {
    display: flex;
    justify-content: center;
}

.top-header-nav > .nav-item {
    margin-left: 15px;
}

.top-header-nav > .nav-item > a {
    color: #000000;
}

.top-header-nav > .nav-item > a:hover {
    border-bottom: 1px solid #000000;
}

.user-dropdown::after {
    display: none;
}

.custom-nav {
    justify-content: space-between;
    width: 100%;
}

.user-menu {
    min-width: 200px !important;
}

.search-dropdown {
    display: flex;
    margin: 0;
    color: #333 !important;
}

.ui-state-active {
    background: #e50606 !important;
    border: none !important;
}

/* ================== SECTIONS =================== */
.body-content {
    min-height: 65vh;
}

.no-margin {
    margin: 0;
}

.navbar {
    padding: 0;
}

.nav-link {
    padding: 1rem;
}

.navbar-top {
    padding: 0;
}

.navbar-landing {
    -webkit-transition: 0.5s;
    transition: 0.5s;
    padding-top: 15px;
    padding-bottom: 15px;
    position: fixed;
    top: 0;
    z-index: 100;
    width: 100%;
}

.navbar-landing.fixed-top {
    -webkit-transition: 0.5s;
    transition: 0.5s;
    padding-top: 7px;
    padding-bottom: 7px;
}

/* Removed old custom-nav li styles - using new navbar styles instead */

.dropdown-menu {
    margin-top: 0;
    padding: 10px 0;
    border: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    min-width: 280px;
    background: #fff;
    border-radius: 4px;
}

.dropdown-menu a {
    color: #333 !important;
    font-size: 14px;
}

.dropdown-menu a:hover {
    color: #e50606 !important;
}

.dropdown-item {
    padding: 12px 20px;
    color: #333 !important;
    background-color: #fff;
    font-size: 14px;
    transition: all 0.2s;
    border: none;
}

.dropdown-item:hover {
    background-color: #f5f5f5 !important;
    color: #e50606 !important;
    padding-left: 25px;
}

.mega-dropdown-col-4 {
    display: block;
    padding: 0;
    min-width: 280px;
    background: #fff;
}

.mega-dropdown-col-4 > div {
    margin-bottom: 0;
}

.mega-dropdown-col-4 .dropdown-item {
    color: #333 !important;
    background-color: #fff;
    padding: 12px 20px;
    display: block;
    border-radius: 0;
    font-size: 14px;
    transition: all 0.2s;
}

.mega-dropdown-col-4 .dropdown-item:hover {
    background-color: #f5f5f5 !important;
    color: #e50606 !important;
    padding-left: 25px;
}

.category-menu {
    font-size: 14px !important;
    font-weight: 600;
    color: #e50606 !important;
    background-color: #fff0f0 !important;
    padding: 12px 20px !important;
    margin-bottom: 0 !important;
    display: block;
    border-radius: 0;
    text-transform: none;
}

.category-menu:hover {
    background-color: #ffe0e0 !important;
    color: #e50606 !important;
    padding-left: 25px !important;
    background-color: #e8e8e8 !important;
    color: #e50606 !important;
}

.left-menu a {
    color: #fff;
    margin: 5px;
}

.left-menu a:hover {
    background-color: #fff;
    color: #000;
}

.left-menu .active {
    background-color: #fff;
    color: #000;
}

/* ================== NEW NAVBAR STYLES ==================  */

/* Top Navigation Section */
.navbar-top-section {
    padding: 10px 0;
}

.nav-logo {
    max-height: 50px;
    width: auto;
}

.navbar-top-icons {
    gap: 20px;
}

.nav-icon-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #2d9cdb;
    text-decoration: none;
    font-size: 12px;
    transition: color 0.2s;
}

.nav-icon-link i {
    font-size: 20px;
    margin-bottom: 4px;
    color: #2d9cdb;
}

.nav-icon-link:hover {
    color: #2176b6;
    text-decoration: none;
}

.nav-icon-link:hover i {
    color: #2176b6;
}

.basket-count {
    position: absolute;
    top: -8px;
    right: -10px;
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 10px;
    background: #e50606;
    color: #fff;
    font-weight: 600;
    min-width: 18px;
    text-align: center;
}

.btn-phone {
    background: #2c3e50;
    color: #fff;
    border: none;
    padding: 8px 16px;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
}

.btn-phone:hover {
    background: #1a252f;
    color: #fff;
    text-decoration: none;
}

/* Mobile Navbar */
.mobile-nav-toggle {
    display: none;
    border: none;
    padding: 0;
}

.mobile-nav-toggle .navbar-toggler-icon {
    width: 24px;
    height: 24px;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(17,17,17,0.9)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px 24px;
}

.mobile-nav-header,
.mobile-search {
    display: none;
}

@media (max-width: 991.98px) {
    .navbar-top-section form {
        display: none;
    }

    .navbar-top-icons .btn-phone {
        display: none;
    }

    .navbar-top-icons .nav-icon-link span {
        display: none;
    }

    .navbar-top-icons {
        gap: 30px;
    }

    .navbar-top-icons .nav-icon-link i {
        font-size: 26px;
    }

    .navbar-top-icons .basket-count {
        top: -10px;
        right: -12px;
        font-size: 11px;
    }

    .mobile-nav-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .custom-nav .navbar-toggler {
        display: none;
    }

    #main_nav.collapse,
    #main_nav.collapsing {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        height: 100vh;
        width: 100vw;
        max-width: none;
        background: #fff;
        z-index: 1050;
        transform: translateX(-100%);
        transition: transform 0.55s ease;
        overflow-y: auto;
        padding: 16px 0 24px;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
    }

    #main_nav.collapse.show {
        transform: translateX(0);
    }

    #main_nav.collapsing {
        height: 100vh !important;
        transition: transform 0.55s ease !important;
    }

    .mobile-nav-header {
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        padding: 10px 16px 16px;
        border-bottom: 1px solid #eee;
    }

    .mobile-nav-close {
        position: absolute;
        left: 12px;
        top: 6px;
        border: none;
        background: transparent;
        font-size: 28px;
        line-height: 1;
        color: #111;
    }

    .mobile-nav-logo {
        display: inline-flex;
        align-items: center;
    }

    .mobile-search {
        display: block;
        padding: 0 16px 12px;
        border-bottom: 1px solid #eee;
    }

    .mobile-search-input {
        border-radius: 4px 0 0 4px !important;
    }

    .mobile-search-btn {
        background: #fff;
        border: 1px solid #ced4da;
        border-left: none;
        color: #e50606;
        border-radius: 0 4px 4px 0;
    }

    .main-menu-nav {
        flex-direction: column;
        align-items: center;
        padding: 10px 0;
    }

    .main-menu-nav .nav-link {
        padding: 10px 0;
        border-bottom: none;
        text-transform: none;
        font-size: 15px;
    }

    .dropdown-menu,
    .mega-dropdown {
        display: none !important;
        position: static;
        width: 100%;
        box-shadow: none;
        padding: 0;
        border: none;
    }

    .mega-dropdown .container {
        padding: 0;
    }

    .mega-col {
        padding: 0;
        text-align: center;
    }

    .mega-category-link {
        border: none;
        padding: 8px 0;
        min-height: auto;
        border-radius: 0;
    }

    .mega-category-link:hover {
        border: none;
        background: transparent;
        color: #e50606 !important;
    }

    .mega-image-wrapper {
        display: none;
    }
}

/* Main Navigation Menu */
.main-menu-nav {
    width: 100%;
    gap: 0;
}

.main-menu-nav .nav-item {
    border: none;
}

.main-menu-nav .nav-link {
    color: #333;
    font-size: 14px;
    font-weight: 500;
    padding: 12px 16px;
    border-bottom: 3px solid transparent;
    transition: all 0.2s;
    text-transform: uppercase;
    position: relative;
    font-weight: bold;
}

.main-menu-nav .nav-link:hover,
.main-menu-nav .nav-item.show .nav-link,
.main-menu-nav .dropdown.show .nav-link {
    color: #e50606;
    background: none;
    border-bottom-color: #e50606;
}

.main-menu-nav .dropdown-toggle::after {
    display: none;
}

.mega-menu-item .nav-link {
    color: #333;
    border-bottom: 3px solid transparent;
    font-weight: bold;
    text-transform: uppercase;
}

.mega-menu-item .nav-link:hover,
.mega-menu-item.show .nav-link {
    color: #e50606;
    border-bottom-color: #e50606;
}

/* Mega Dropdown */
.mega-dropdown {
    width: 1000px;
    left: 0 !important;
    right: 0;
    border: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    padding: 20px 0;
}

.mega-col {
    padding: 10px;
    text-align: center;
}

.mega-category-link {
    display: block;
    color: #333 !important;
    text-decoration: none;
    transition: all 0.3s ease;
    padding: 15px;
    border: 2px solid transparent;
    border-radius: 8px;
    min-height: 180px;
}

.mega-category-link:hover {
    border: 2px solid #e50606;
    text-decoration: none;
    color: #333 !important;
    background-color: #fff;
}

.mega-image-wrapper {
    width: 100%;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
}

.mega-category-link img {
    width: 100%;
    max-width: 120px;
    height: 100px;
    object-fit: cover;
    border-radius: 8px;
}

.mega-image-placeholder {
    width: 100%;
    max-width: 120px;
    height: 100px;
    background-color: #f5f5f5;
    border-radius: 8px;
}

/* Printing Services Cards */
.printing-services .service-card-wrapper {
    perspective: 1000px;
    height: 310px;
    margin-bottom: 24px;
}

.printing-services .service-card {
    position: relative;
    width: 100%;
    height: 100%;
    text-decoration: none;
    display: block;
}

.printing-services .service-card-flipper {
    position: relative;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    transition: transform 0.6s;
}

.printing-services .service-card:hover .service-card-flipper {
    transform: rotateY(180deg);
}

.printing-services .service-card-front,
.printing-services .service-card-back {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    border: 1px solid #e2e2e2;
    border-radius: 4px;
    background: #fff;
    display: flex;
    flex-direction: column;
}

.printing-services .service-card-front {
    z-index: 2;
    transform: rotateY(0deg);
}

.printing-services .service-card-back {
    background: #2f429a;
    border-color: #2f429a;
    transform: rotateY(180deg);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px;
    z-index: 1;
}

.printing-services .service-card-back .service-back-content p {
    color: #fff;
    font-size: 0.95rem;
    line-height: 1.6;
    margin: 0;
    text-align: left;
}

.printing-services .service-card .service-image {
    height: 200px;
    margin: 0;
    padding: 0;
    background: #e6e6e6;
    border-bottom: 1px solid #ededed;
    position: relative;
}

.printing-services .service-card .service-image img,
.printing-services .service-card .service-image .mega-image-placeholder {
    width: 100%;
    height: 100%;
    max-width: none;
    border-radius: 0;
    object-fit: cover;
    display: block;
}

.printing-services .service-card .service-image .mega-image-placeholder {
    background: #ededed;
}

.printing-services .service-card .service-title {
    margin: 16px 16px 12px;
    font-size: 1.05rem;
    font-weight: 600;
    color: #2b2b2b;
    line-height: 1.3;
    min-height: 2.6em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    transition: color 0.3s ease;
    flex-grow: 1;
}

.printing-services .service-card .service-cta {
    margin: 0 16px 18px;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #2b2b2b;
    text-transform: uppercase;
    transition: color 0.3s ease;
}

.printing-services .service-card .service-cta-arrow {
    font-weight: 700;
}

.printing-services .service-card .service-price-tag {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: rgba(23, 35, 89, 0.85);
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    z-index: 1;
}

.printing-services .service-card .service-price-tag strong {
    font-size: 1.05rem;
    line-height: 1;
}

.mega-category-link h6 {
    font-size: 13px;
    font-weight: 500;
    margin: 0;
    color: #333 !important;
}

.mega-category-link:hover h6 {
    color: #e50606 !important;
}

.w-20 {
    width: 20%;
}

.blur-up {
    -webkit-filter: blur(5px);
    filter: blur(5px);
    transition: filter 400ms, -webkit-filter 400ms;
}

.blur-up.lazyloaded {
    -webkit-filter: blur(0);
    filter: blur(0);
}

.product-title {
    text-align: center;
    font-size: 2em;
}

/* Best Selling Products Carousel (Slick) */
.best-selling-carousel {
    background: #fff;
    border-radius: 4px;
    padding: 20px 60px;
    position: relative;
    margin: 0;
}

.best-selling-carousel .carousel-slide {
    padding: 0 10px;
}

.best-selling-carousel .slick-slide {
    padding: 0 10px;
}

.best-selling-carousel .slick-prev,
.best-selling-carousel .slick-next {
    width: auto;
    height: auto;
    z-index: 10;
    background: transparent;
    opacity: 0.7;
    top: 50%;
    transform: translateY(-50%);
    border: none;
}

.best-selling-carousel .slick-prev:hover,
.best-selling-carousel .slick-next:hover {
    opacity: 1;
}

.best-selling-carousel .slick-prev::before,
.best-selling-carousel .slick-next::before {
    font-size: 30px;
    color: #000;
}

.best-selling-carousel .slick-prev {
    left: -60px;
}

.best-selling-carousel .slick-next {
    right: -60px;
}

/* Mobile responsive */
@media (max-width: 991.98px) {
    .best-selling-carousel {
        padding: 20px 50px;
    }

    .best-selling-carousel .slick-prev {
        left: -50px;
    }

    .best-selling-carousel .slick-next {
        right: -50px;
    }
}

@media (max-width: 768px) {
    .best-selling-carousel {
        padding: 20px 10px;
    }

    .best-selling-carousel .slick-prev,
    .best-selling-carousel .slick-next {
        width: 35px;
        height: 35px;
    }

    .best-selling-carousel .slick-prev {
        left: 5px;
    }

    .best-selling-carousel .slick-next {
        right: 5px;
    }
}

.best-selling-carousel .carousel-control-prev,
.best-selling-carousel .carousel-control-next {
    width: 40px;
    height: 40px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border-radius: 50%;
    z-index: 10;
    opacity: 0.7;
}

.best-selling-carousel .carousel-control-prev-icon,
.best-selling-carousel .carousel-control-next-icon {
    background-size: 100% 100%;
}

.best-selling-carousel .carousel-control-prev-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E");
}

.best-selling-carousel .carousel-control-next-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E");
}

.best-selling-carousel .carousel-control-prev {
    left: -60px;
}

.best-selling-carousel .carousel-control-next {
    right: -60px;
}

.best-selling-carousel .carousel-control-prev:hover,
.best-selling-carousel .carousel-control-next:hover {
    opacity: 1;
}

.best-selling-carousel {
    padding: 30px 0px 30px 0px;
    margin: 0 -20px;
}

/* Mobile carousel responsive */
@media (max-width: 991.98px) {
    .best-selling-carousel {
        padding: 30px 50px;
    }

    .best-selling-carousel .carousel-control-prev {
        left: -50px;
    }

    .best-selling-carousel .carousel-control-next {
        right: -50px;
    }
}

@media (max-width: 768px) {
    .best-selling-carousel {
        padding: 30px 10px;
    }

    .best-selling-carousel .carousel-control-prev,
    .best-selling-carousel .carousel-control-next {
        width: 35px;
        height: 35px;
        font-size: 18px;
    }

    .best-selling-carousel .carousel-control-prev {
        left: 5px;
    }

    .best-selling-carousel .carousel-control-next {
        right: 5px;
    }
}

.product-summary {
    padding: 1rem;
}

.product-summary .header {
    display: flex;
    vertical-align: middle;
}

.product-summary .header .icon {
    color: #fff;
    padding: 0.5rem 1.5rem;
}

.product-summary .header .title {
    color: #fff;
    width: 100%;
    padding: 0.5rem 1rem;
}

.product-summary .footer {
    display: flex;
    color: #fff;
}

.product-summary .footer input {
    color: #fff;
    border-radius: 0;
    width: 100%;
}

.product-summary .footer a {
    text-decoration: none;
    color: #fff;
    padding: 0.5rem;
}

.product-summary .footer a h5 {
    margin-bottom: 0;
}

.order-product-img {
    max-width: 150px;
}

.hideError {
    display: none;
}

.showError {
    display: block;
    color: #dc3c14;
}

.dataTables_wrapper.no-footer .dataTables_scrollBody {
    border-bottom: none;
}

#multiPriceTable_wrapper {
    border: 0;
}

#multiPriceTable_wrapper thead tr th,
#multiPriceTable_wrapper tbody tr td {
    border: 1px solid #fff;
    text-align: center;
    border-radius: 5px;
}

#multiPriceTable_wrapper thead tr th {
    background: #e50606;
    color: #fff;
}

#multiPriceTable_wrapper tbody tr td {
    padding: 10px 50px;
    margin-bottom: 10px;
}

#multiPriceTable_wrapper tbody tr {
    background-color: #b5afb0;
}

#multiPriceTable_wrapper tbody tr.selected td {
    color: #ffffff;
    background: #161616;
}

#multiPriceTable_wrapper tbody tr:hover {
    cursor: pointer;
    color: #ffffff;
    background: #161616;
}

.email {
    flex: 1;
}

.section-content {
    min-height: 50vh;
}

/* ================== header main ==================  */

.header-main {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.brand-wrap .logo,
.navbar-brand .logo {
    margin-right: 7px;
    max-height: 70px;
    display: inline-block;
}

.brand-wrap .logo-text,
.navbar-brand .logo-text {
    margin: 0;
    display: inline-block;
    font-size: 22px;
    vertical-align: middle;
}

.header-main {
    position: relative;
}

.widget-header {
    margin-left: 7px;
    margin-right: 7px;
    display: inline-block;
    align-self: center;
    position: relative;
}

.widget-header form {
    min-width: 280px;
}

.widget-header .title {
    display: block;
}

.widget-header .notify {
    position: absolute;
    top: -3px;
    right: -10px;
}

/* desktop only */

/* desktop only .end */

/* ================ SECTION-FOOTER ==================  */

.section-footer {
    background: #3f4f62;
    color: #ffffff;
}

.section-footer ul a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    transition: color 0.3s ease;
}

.section-footer ul a:hover {
    color: #ffffff;
}

.section-footer ul li {
    margin-bottom: 8px;
}

.footer-heading {
    font-weight: 600;
    font-size: 1.1rem;
    margin-bottom: 1.25rem;
    color: #ffffff;
}

.footer-info li {
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.6;
}

.footer-bottom {
    padding: 15px 0;
}

.footer-bottom p {
    color: rgba(255, 255, 255, 0.7);
}

/* Social Icons */
.social-icons-wrapper {
    display: flex;
    gap: 12px;
}

.social-icon {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    color: #ffffff;
    font-size: 25px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.social-facebook {
    background: #3b5998;
}

.social-facebook:hover {
    background: #2d4373;
    color: #ffffff;
    transform: translateY(-2px);
}

.social-instagram {
    background: linear-gradient(
        45deg,
        #f09433 0%,
        #e6683c 25%,
        #dc2743 50%,
        #cc2366 75%,
        #bc1888 100%
    );
}

.social-instagram:hover {
    opacity: 0.85;
    color: #ffffff;
    transform: translateY(-2px);
}

.social-linkedin {
    background: #0077b5;
}

.social-linkedin:hover {
    background: #005582;
    color: #ffffff;
    transform: translateY(-2px);
}

.social-twitter {
    background: #1da1f2;
}

.social-twitter:hover {
    background: #0d8bd9;
    color: #ffffff;
    transform: translateY(-2px);
}

/* Payment Icons */
.payment-methods {
    gap: 8px;
    text-align: end;
}

.payment-icon {
    height: 40px;
    width: auto;
    object-fit: contain;
    opacity: 0.9;
    transition: opacity 0.3s ease;
    padding: 0 5px;
}

.payment-icon:hover {
    opacity: 1;
}

/* Footer Responsive */
@media (max-width: 768px) {
    .footer-heading {
        margin-top: 1.5rem;
        font-size: 1rem;
    }

    .footer-heading:first-child {
        margin-top: 0;
    }

    .social-icons-wrapper {
        margin-bottom: 0.5rem;
    }

    .payment-methods {
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .payment-icon {
        height: 24px;
    }
}

/* ================== PAGES =================== */

/* ================ PAGES HEADER ================== */

.section-pagetop {
    padding: 45px 0;
    background-repeat: no-repeat;
    background-size: cover;
}

.section-pagetop .title-page {
    color: #fff;
    opacity: 0.6;
}

/* ================== PAGE DETAILS ==================  */

.banner-img {
    width: 100%;
    height: auto;
}

/* Home Page Slider */
.hero-slider-section {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.home-page-slider {
    position: relative;
}

.slide-item {
    position: relative;
    width: 100%;
    height: 500px;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.slide-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: transparent;
    display: flex;
    align-items: center;
}

.slide-content {
    color: #000;
    max-width: 600px;
}

.slide-title {
    font-size: 48px;
    font-weight: 800;
    width: 80%;
    /* margin-bottom: 20px; */
    /* line-height: 1.2; */
}

.slide-subtitle {
    font-size: 30px;
    font-weight: 700;
    /* margin-bottom: 30px; */
    /* line-height: 1.4; */
    width: 80%;
}

.btn-slide-cta {
    background: #ff6b6b;
    color: #fff;
    padding: 12px 35px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 4px;
    border: none;
    text-decoration: none;
    display: inline-block;
    transition: background 0.3s ease;
}

.btn-slide-cta:hover {
    background: #ff5252;
    color: #fff;
    text-decoration: none;
}

@media (max-width: 992px) {
    .slide-item {
        height: 420px;
    }

    .slide-content {
        max-width: 520px;
    }

    .slide-title {
        font-size: 36px;
        width: 100%;
    }

    .slide-subtitle {
        font-size: 22px;
        width: 100%;
    }
}

@media (max-width: 768px) {
    .slide-item {
        height: 360px;
    }

    .slide-overlay {
        align-items: center;
        text-align: center;
    }

    .slide-content {
        max-width: 100%;
        margin: 0 auto;
    }

    .slide-title {
        font-size: 28px;
        font-weight: 700;
    }

    .slide-subtitle {
        font-size: 18px;
        font-weight: 600;
    }

    .btn-slide-cta {
        padding: 10px 26px;
        font-size: 14px;
    }
}

@media (max-width: 576px) {
    .slide-item {
        height: 300px;
    }

    .slide-title {
        font-size: 22px;
    }

    .slide-subtitle {
        font-size: 16px;
    }
}

.gallery-wrap .img-big-wrap {
    margin-bottom: 10px;
    overflow: hidden;
    background-color: #fff;
}

.gallery-wrap .img-big-wrap a {
    text-align: center;
    display: block;
}

.gallery-wrap .img-big-wrap img {
    max-height: 450px;
    width: auto;
    display: inline-block;
    cursor: -webkit-zoom-in;
    cursor: zoom-in;
}

.gallery-wrap .img-small-wrap {
    text-align: center;
}

.gallery-wrap .img-small-wrap .item-gallery {
    /* width: 60px; */
    height: 60px;
    border: 1px solid #ddd;
    margin: 7px 2px;
    display: inline-block;
    overflow: hidden;
}

.gallery-wrap .img-small-wrap img {
    max-width: 100%;
    max-height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: 4px;
    cursor: -webkit-zoom-in;
    cursor: zoom-in;
}

.gallery-wrap .img-small-wrap img:hover {
    -webkit-filter: brightness(1.1);
    filter: brightness(1.1);
    cursor: -webkit-zoom-in;
    cursor: zoom-in;
}

.about-us-bg-image {
    background-image: url("../images/banners/about_us_banner1.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    height: 150px;
}

/* ================== COMPONENTS =================== */

.btn-facebook {
    background-color: #405d9d;
    color: #fff;
}

.btn-facebook:hover {
    color: #fff;
}

.btn-instagram {
    background-color: #e52d27;
    color: #fff;
}

.btn-instagram:hover {
    color: #fff;
}

.btn-linkedin {
    background-color: #2867b2;
    color: #fff;
}

.btn-linkedin:hover {
    color: #fff;
}

.btn-twitter {
    background-color: #42aeec;
    color: #fff;
}

.btn-twitter:hover {
    color: #fff;
}

.itembox .icon-wrap {
    margin-bottom: 15px;
    margin-top: 7px;
}

.itembox img {
    max-width: 100%;
}

.itemside {
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    width: 100%;
}

.itemside .text-wrap {
    padding-left: 15px;
    padding-right: 7px;
}

.itemside .img-wrap {
    position: relative;
    border-radius: 0.25rem 0 0 0.25rem;
}

.itemside img {
    -o-object-fit: contain;
    object-fit: contain;
}

.itemside p,
.itemside .title {
    margin-bottom: 0.5rem;
}

.itemside .img-bg {
    -o-object-fit: contain;
    object-fit: contain;
    position: absolute;
    right: 0;
    bottom: 0;
    max-height: 100px;
    bottom: 0;
    z-index: 0;
}

.itemside .card-body {
    position: relative;
    z-index: 3;
}

.items-bordered-wrap .itemside:not(:last-child) {
    border-bottom: 1px solid #dee2e6;
    padding-bottom: 10px;
    margin-bottom: 10px;
}

.itemlist {
    padding: 20px;
    border-bottom: 1px solid #eee;
}

.list-inline {
    margin-bottom: 0;
}

.list-inline-item {
    vertical-align: middle;
}

/* --------- description list --------*/

[class*="dlist-"] {
    margin-bottom: 5px;
}

[class*="dlist-"] dd {
    margin-bottom: 0;
}

.dlist-inline dt,
.dlist-inline dd {
    display: inline-block;
}

.dlist-align dt {
    width: 90px;
    float: left;
    word-wrap: break-word;
}

.dlist-align dd {
    margin-left: 120px;
    vertical-align: baseline;
}

/* -------------------- list.row--------------------- */

ul.row,
ul.row-sm {
    list-style: none;
    padding: 0;
    margin-bottom: 0;
}

/* ================= lists ================= */

[class*="list-"] li:after {
    visibility: hidden;
    display: block;
    content: "";
    overflow: hidden;
    height: 0;
    clear: both;
}

.list-lg li {
    margin-bottom: 10px;
}

.list-icon {
    list-style: none;
    padding: 0;
}

.list-icon li {
    margin-bottom: 10px;
}

.list-icon img {
    width: 30px;
    vertical-align: middle;
    margin-right: 15px;
}

.list-icon .icon {
    width: 22px;
    margin-right: 15px;
    vertical-align: middle;
    font-size: 20px;
    text-align: center;
}

.list-icon span {
    vertical-align: middle;
}

.list-bullet {
    list-style: none;
    padding: 0;
}

.list-bullet li {
    margin-bottom: 7px;
    position: relative;
    padding-left: 15px;
}

.list-bullet li::before {
    content: " ";
    position: absolute;
    top: 45%;
    left: 0;
    width: 7px;
    height: 7px;
    margin: 0px 10px 0px 0px;
    background: #6c757d;
    border-radius: 7px;
}

.list-check > li {
    list-style: none;
    position: relative;
}

.list-check > li::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #6c757d;
    position: absolute;
    top: 0px;
    left: 0;
    content: "\f00c";
    font-size: 16px;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
}

.list-icon {
    list-style: none;
    padding: 0;
}

.list-icon li {
    position: relative;
    padding-left: 30px;
}

.list-icon .icon {
    position: absolute;
    top: 3px;
    left: 0;
    font-size: 13px;
}

.product-info a {
    display: block;
    text-decoration: none;
    color: #000;
    padding: 0.5rem;
    border-bottom: 1px solid #fff;
}

.inline-radio {
    margin-bottom: 8px;
}

.inline-radio label {
    padding: 5px 10px 5px 5px;
    line-height: 30px;
    color: #fff;
}

.inline-radio label input {
    width: 30px !important;
    height: 30px !important;
    margin-right: 10px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 14px;
    height: 14px;
    background: #fff;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    display: block;
    float: left;
    margin-right: 9px;
    transition: 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.inline-radio label input:checked {
    background: #fff url(../images/icons/check.svg) no-repeat center center
        scroll;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.card-product {
    margin-bottom: 1rem;
    /* border: 1px solid #e5e5e5; */
    border-radius: 4px;
    /* background: #fff; */
    display: flex;
    flex-direction: column;
    height: 100%;
    /* btn-overlay-bottom */
}

.card-product:after {
    content: "";
    display: table;
    clear: both;
    visibility: hidden;
}

.card-product .card-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 12px 12px 0;
}

.card-product .card-footer {
    padding: 0 12px 12px;
    margin-top: auto;
    border-top: none !important;
    background-color: transparent !important;
}

.card-product .img-wrap {
    /* border-radius: 0.2rem 0.2rem 0 0; */
    overflow: hidden;
    position: relative;
    background: #e6e6e6;
    /* height: 220px; */
    text-align: center;
}

.card-product .img-wrap img {
    width: 100%;
    height: 100%;
    max-height: 260px;
    max-width: 100%;
    display: inline-block;
    -o-object-fit: cover;
    object-fit: cover;
}

.card-product .action-wrap {
    padding-top: 4px;
    margin-top: 4px;
}

.card-product .bottom-wrap {
    margin: 5px 15px;
    height: 80px;
    overflow: hidden;
}

.card-product .price {
    position: absolute;
    border-radius: 31px;
    height: 62px;
    text-align: center;
    width: 62px;
    background: #000000;
    color: #fff;
    right: 0;
    bottom: 140px;
}

.card-product .description {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.card-product .title {
    margin: 12px 4px 14px;
    font-size: 1rem;
    font-weight: 600;
    text-align: left;
    line-height: 1.3;
    min-height: 2.6em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.card-product .btn-overlay {
    -webkit-transition: 0.5s;
    transition: 0.5s;
    opacity: 0;
    left: 0;
    bottom: 0;
    color: #fff;
    width: 100%;
    padding: 5px 0;
    font-size: 12px;
    text-align: center;
    position: absolute;
    text-transform: uppercase;
    background: rgba(0, 0, 0, 0.5);
}

.card-product:hover .btn-overlay {
    opacity: 1;
}

.card-product:hover {
    -webkit-box-shadow: 0 4px 15px rgba(153, 153, 153, 0.3);
    box-shadow: 0 4px 15px rgba(153, 153, 153, 0.3);
    -webkit-transition: 0.5s;
    transition: 0.5s;
}

.product-breadcrumb {
    margin-top: 10px;
    font-size: 1.1rem;
    background: lightgrey;
    padding: 10px;
}

/* Product Carousel */
.product-carousel {
    margin-bottom: 0;
}

.product-carousel .carousel-inner {
    border-radius: 4px;
    overflow: hidden;
}

.product-carousel .carousel-item {
    height: 100%;
    min-height: 250px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f8f8f8;
}

.product-carousel .img-wrap {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-carousel .carousel-control-prev,
.product-carousel .carousel-control-next {
    width: auto;
    height: auto;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
    padding: 10px;
}

.product-carousel .carousel-control-prev {
    left: 10px;
}

.product-carousel .carousel-control-next {
    right: 10px;
}

.product-carousel .carousel-control-prev:hover,
.product-carousel .carousel-control-next:hover {
    background: rgba(0, 0, 0, 0.8);
}

.card-sm .img-wrap {
    height: 180px;
}

.card-banner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    overflow: hidden;
    background-color: #fff;
    background-size: cover;
    border-radius: 0.25rem;
}

.card-banner .card-body {
    background-size: cover;
    position: relative;
    z-index: 10;
}

.card-banner .img-bg {
    position: absolute;
    right: 0;
    bottom: 0;
    mix-blend-mode: multiply;
    max-width: 100%;
}

.card-banner .overlay {
    background-color: rgba(0, 0, 0, 0.65);
    z-index: 10;
    padding: 1.25rem;
    color: #fff;
}

.card-banner .overlay.bottom {
    bottom: 0;
    left: 0;
    position: absolute;
    width: 100%;
}

.card-banner .overlay.top {
    top: 0;
    left: 0;
    position: absolute;
    width: 100%;
}

.card-banner .overlay-cover {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    position: absolute;
    width: 100%;
}

.card-banner .overlay.left {
    top: 0;
    left: 0;
    bottom: 0;
    position: absolute;
}

.card-banner .text-bottom {
    position: absolute;
    left: 0;
    bottom: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    padding: 7px 20px;
    padding-top: 30px;
    border-radius: 0 0 0.25rem 0.25rem;
    background: -webkit-gradient(
        linear,
        left top,
        left bottom,
        from(rgba(0, 0, 0, 0)),
        to(rgba(0, 0, 0, 0.8))
    );
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 0.8) 100%
    );
    color: #fff;
}

.banner-size-lg {
    height: 350px;
}

.card .img-wrap {
    overflow: hidden;
}

.icontext {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.icontext .icon-wrap {
    position: relative;
}

.icontext .text-wrap {
    line-height: 1.2;
    padding-left: 10px;
}

.icontext small,
.icontext .title {
    display: block;
}

.price-new,
.price {
    margin-right: 5px;
}

.price-old {
    color: #999;
}

.notify {
    position: absolute;
    top: -4px;
    right: -10px;
    display: inline-block;
    padding: 0.25em 0.6em;
    font-size: 75%;
    line-height: 1;
    text-align: center;
    border-radius: 3rem;
    color: #fff;
    background-color: #dc3545;
}

.icon-action {
    margin-top: 5px;
    float: right;
    font-size: 80%;
}

.list-group .list-group-item {
    padding-bottom: 0.5rem;
}

.list-group .title {
    margin-top: 5px;
    margin-bottom: 12px;
}

.card-header .title {
    margin-bottom: 0;
    line-height: 1.5;
}

.card-group-item {
    border-bottom: 1px solid #dee2e6;
}

.card-group-item .card-header {
    border-bottom: 0;
    background-color: #f9f9f9;
}

.card-group-item:last-child {
    border-bottom: 0;
}

/* ====================== shopping-cart ==================== */

.shopping-cart-wrap img {
    max-width: 100px;
}

.shopping-cart-wrap thead th {
    border-top: 0;
    border-bottom: 0;
}

.shopping-cart-wrap .price {
    color: #007bff;
    font-size: 18px;
    font-weight: bold;
    margin-right: 5px;
    display: block;
}

/* ====================== block ==================== */

.box {
    display: block;
    background: #fff;
    border-radius: 0.2rem;
    -webkit-box-shadow: 0 1px 3px rgba(51, 51, 51, 0.1);
    box-shadow: 0 1px 3px rgba(51, 51, 51, 0.1);
}

/* --------- media element --------*/

.media .img-wrap {
    margin-right: 1rem;
}

/* =================  ELEMENTS FOR PRODUCT =================== */

.badge-new {
    top: 7px;
    left: 7px;
    position: absolute;
    display: block;
    z-index: 10;
    padding: 2px 7px;
    font-size: 12px;
    background-color: #ef5f5f;
    color: #fff;
    border-radius: 4px;
}

.badge-offer {
    display: block;
    position: absolute;
    top: 0px;
    right: 15px;
    z-index: 2;
}

.badge-offer b {
    background: #ef5f5f;
    padding: 4px;
    font-family: "Bebas";
    font-weight: normal;
    text-align: center;
    color: #fff;
    font-size: 16px;
    display: inline-block;
    height: 36px;
    width: 50px;
    position: relative;
}

.badge-offer b:after {
    border-top: 7px solid #ef5f5f;
    border-left: 25px solid transparent;
    border-right: 25px solid transparent;
    content: "";
    height: 0;
    left: 0;
    position: absolute;
    top: 36px;
    width: 0;
}

/* ================= RATINGS ============== */

.label-rating {
    margin-right: 10px;
    display: inline-block;
    vertical-align: middle;
}

.stars-simple {
    margin-bottom: 7px;
}

.stars-simple i {
    color: orange;
}

.stars-simple small {
    color: #999;
    margin-left: 5px;
}

/* rating-list */

.rating-stars {
    margin-right: 10px;
    display: inline-block;
    vertical-align: middle;
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
    line-height: 1;
    white-space: nowrap;
    clear: both;
}

.rating-stars i {
    font-size: 14px;
    color: #ccc;
    display: inline;
}

.rating-stars li {
    display: block;
    text-overflow: clip;
    white-space: nowrap;
    z-index: 1;
}

.rating-stars li.stars-active {
    z-index: 2;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
}

.rating-stars li.stars-active i {
    color: orange;
}

.divider-text {
    position: relative;
    text-align: center;
    margin-top: 15px;
    margin-bottom: 15px;
}

.divider-text:after {
    content: "";
    position: absolute;
    width: 100%;
    border-bottom: 1px solid #ddd;
    top: 55%;
    left: 0;
    z-index: 1;
}

.divider-text span {
    background-color: #fff;
    padding: 7px;
    font-size: 12px;
    position: relative;
    z-index: 2;
}

.menu-category {
    margin: 0;
    padding: 0;
}

.menu-category li {
    position: relative;
    display: block;
    border-bottom: 1px solid #dee2e6;
}

.menu-category > li > a {
    display: block;
    padding: 10px 15px;
}

.menu-category .submenu {
    display: none;
    margin: 0;
    padding: 0;
    -webkit-box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.2);
    box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.2);
    z-index: 20;
    position: absolute;
    left: 100%;
    top: 0;
    width: 250px;
    background: #fff;
}

.menu-category .submenu li {
    list-style: none;
}

.menu-category .submenu li a {
    padding: 7px 15px;
    display: block;
}

.menu-category li:hover {
    background: #f8f8f8;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.menu-category li:hover .submenu {
    display: block;
    margin-left: 0px;
}

/*# sourceMappingURL=ui.css.map */

.nav-link {
    color: rgba(0, 0, 0, 0.3);
    border: none;
}

/* .nav-link.active {
  border: none;
  color: #000;
} */

.nav-tabs .nav-link:hover {
    border: none;
    color: #000;
}

.nav-tabs {
    border: none;
}

.hide {
    display: none;
    transition-duration: 0.5s;
}

.finishing-option > label > input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.finishing-option > label > input[type="radio"] + img {
    cursor: pointer;
    border: 1px solid lightgray;
    box-shadow: 2px 2px 1px rgb(0 0 0 / 20%);
}

.finishing-option > label > input[type="radio"]:checked + img {
    outline: 2px solid #f00;
    padding: 2px;
}

.help-icon {
    font-size: 2rem;
    cursor: pointer;
}

.block-radio {
    margin-bottom: 8px;
}

.block-radio label {
    padding: 5px 10px 5px 5px;
    line-height: 30px;
    /* color: #fff; */
    display: block;
}

.block-radio label input {
    width: 40px !important;
    height: 40px !important;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 14px;
    height: 14px;
    background: #fff;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    display: block;
    float: left;
    margin: 15px;
    transition: 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid darkgray;
}

.block-radio label input:checked {
    background: #fff url(../images/icons/check.svg) no-repeat center center
        scroll;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.upload-artwork-file input {
    width: 100%;
    padding: 10px;
    border: 1px solid lightgray;
    margin: 1rem 0;
    border-radius: 5px;
}

.upload-artwork-icon {
    max-width: 60px;
}

#addToCart fieldset {
    width: 100%;
    /*stacking fieldsets above each other*/
    /* position: absolute; */
    float: left;
}

/*Hide all except first fieldset*/
#addToCart fieldset:not(:first-of-type) {
    display: none;
}

.finishes-img {
    max-width: 150px;
    margin: 10px;
}

.order-sorting a {
    text-decoration: none;
    color: #fff;
}

.slick-prev {
    z-index: 100;
    left: 10px;
}

.slick-next {
    right: 40px;
    z-index: 100;
}

.slick-prev:before,
.slick-next:before {
    color: grey;
    font-size: 50px;
}

/* Slick Slider Dots */
.slick-dots {
    position: absolute;
    bottom: -40px;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}

.slick-dots li {
    position: relative;
    display: inline-block;
    width: 12px;
    height: 12px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
}

.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 12px;
    height: 12px;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: 2px solid #333;
    outline: none;
    background: transparent;
    border-radius: 50%;
    transition: all 0.3s ease;
}

.slick-dots li.slick-active button {
    background: #e50606;
    border-color: #e50606;
}

.slick-dots li button:hover {
    background: #e50606;
    border-color: #e50606;
}

.hero-slider-section {
    margin-bottom: 60px;
}

.call-via-whatsapp {
    height: auto;
    position: fixed;
    bottom: 20px;
    left: 20px;
    z-index: 9999;
    color: white;
    direction: ltr;
}

.call-via-whatsapp a {
    color: #25d366;
    text-decoration: none;
    padding: 0.5em 0.6em;
    font-weight: bold;
    font-family: Arial, Helvetica, sans-serif;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.4);
    border-radius: 200px;
    border-bottom: none;
    font-size: 2rem;
    opacity: 1;
    text-transform: uppercase;
    vertical-align: middle;
    transition: background-color 300ms ease;
}

.info-text {
    font-size: 0.7rem;
    color: grey;
}

.ui-menu {
    z-index: 101;
}

#payment-form .card {
    border: none;
}

#card-element {
    padding: 12px;
    height: 44px;
    width: 100%;
    background: white;
}

#payment-form button {
    background: #5469d4;
    color: #ffffff;
    font-family: Arial, sans-serif;
    border-radius: 0 0 4px 4px;
    border: 0;
    padding: 12px 16px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    display: block;
    transition: all 0.2s ease;
    box-shadow: 0px 4px 5.5px 0px rgba(0, 0, 0, 0.07);
    width: 100%;
}

#payment-form button:hover {
    filter: contrast(115%);
}

#payment-form button:disabled {
    opacity: 0.5;
    cursor: default;
}

.blog-content {
    background: #ffffff;
    padding: 2rem;
    margin-bottom: 2.5rem;
    box-shadow: 0 0.4rem 0.8rem rgba(0, 0, 0, 0.05);
    border-radius: 0.4rem;
}

.logo-image {
    display: flex;
    overflow: hidden;
    padding: 0 2rem;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    margin: 2rem 0;
}

.header-seperator {
    border-bottom: 0.1rem solid rgba(0, 0, 0, 0.1);
    margin-bottom: 2.5rem;
    padding-bottom: 2.5rem;
}

/* ================== LOGIN PAGE STYLES  =================== */

.login-page-wrapper {
    min-height: 100vh;
    background-color: #f5f5f5;
}
.breadcrumb {
    background-color: transparent !important;
}
.login-breadcrumb {
    background-color: white;
    padding: 15px 0;
    border-bottom: 1px solid #e0e0e0;
}

.login-breadcrumb a {
    color: #333;
    text-decoration: none;
}

.login-breadcrumb a:hover {
    text-decoration: underline;
}

.trustpilot-rating {
    text-align: right;
}

.login-nav {
    background-color: #445566;
    padding: 15px 0;
}

.login-nav-items {
    display: flex;
    justify-content: space-around;
    max-width: 800px;
    margin: 0 auto;
}

.login-nav-item {
    color: white;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
}

.login-nav-item:hover {
    color: #fff;
    opacity: 0.8;
}

.login-nav-item img,
.login-nav-item svg {
    width: 20px;
    height: 20px;
}

.login-container {
    display: flex;
    max-width: 1400px;
    margin: 0 auto;
    min-height: calc(100vh - 100px);
}

.login-image-section {
    flex: 1;
    background-color: #e8e8e8;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
}

.login-image-section img {
    max-width: 100%;
    height: auto;
}

.login-form-section {
    flex: 1;
    background-color: white;
    padding: 60px 80px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.login-form-section h1 {
    font-size: 36px;
    font-weight: 400;
    margin-bottom: 40px;
    color: #333;
}

.login-form-group {
    margin-bottom: 25px;
}

.login-form-group label {
    display: block;
    margin-bottom: 8px;
    color: #333;
    font-weight: 500;
}

.login-form-group label span {
    color: #ff6b6b;
}

.login-form-group input {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 14px;
}

.login-form-group input:focus {
    outline: none;
    border-color: #999;
}

.login-form-group.password-group {
    position: relative;
}

.login-form-group.password-group .toggle-password {
    position: absolute;
    right: 15px;
    top: 38px;
    cursor: pointer;
}

.login-form-group.password-group .toggle-password img {
    width: 20px;
    height: 20px;
}

.forgot-password {
    display: block;
    margin-top: 10px;
    color: #ff6b6b;
    text-decoration: none;
    font-size: 14px;
}

.forgot-password:hover {
    color: #ff5252;
    text-decoration: underline;
}

.login-btn {
    width: 100%;
    padding: 14px;
    background-color: #ff6b6b;
    color: white;
    border: none;
    border-radius: 4px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    margin-top: 30px;
}

.login-btn:hover {
    background-color: #ff5252;
}

.register-link {
    text-align: center;
    margin-top: 25px;
    color: #666;
}

.register-link a {
    color: #ff6b6b;
    text-decoration: none;
    font-weight: 500;
}

.register-link a:hover {
    text-decoration: underline;
}

.security-notice {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 30px;
    padding-top: 30px;
    border-top: 1px solid #e0e0e0;
}

.security-notice img {
    width: 24px;
    height: 24px;
}

.security-notice span {
    color: #666;
    font-size: 13px;
}

.features-list {
    margin-top: 30px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px 30px;
}

.feature-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.feature-item img {
    width: 20px;
    height: 20px;
}

.feature-item span {
    color: #333;
    font-size: 15px;
}

.invalid-feedback {
    color: #ff6b6b;
    font-size: 13px;
    margin-top: 5px;
    display: block;
}
.breadcrumb-item + .breadcrumb-item::before {
    content: ">";
}
@media (max-width: 992px) {
    .login-container {
        flex-direction: column;
    }
    .login-image-section {
        display: none;
    }
    .login-form-section {
        padding: 40px 30px;
    }
    .login-nav-item span {
        display: none;
    }
}

/* ================== ALL PRODUCTS PAGE STYLES  =================== */

.all-products-header {
    background: linear-gradient(135deg, #ff8989 0%, #ff6b6b 100%);
    padding: 40px 0;
    text-align: center;
}

.all-products-header h1 {
    color: white;
    font-size: 48px;
    font-weight: 600;
    margin: 0;
    letter-spacing: 1px;
}

.all-products-breadcrumb {
    background-color: #f8f9fa;
    padding: 15px 0;
    border-bottom: 1px solid #e0e0e0;
}

.all-products-breadcrumb .breadcrumb {
    background: transparent;
    padding: 0;
    margin: 0;
}

.all-products-breadcrumb .breadcrumb-item a {
    color: #666;
    text-decoration: none;
}

.all-products-breadcrumb .breadcrumb-item a:hover {
    color: #ff6b6b;
    text-decoration: underline;
}

.all-products-breadcrumb .breadcrumb-item.active {
    color: #333;
}

.all-products-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    content: "/";
    color: #999;
}

.all-products-breadcrumb .trustpilot-widget img {
    max-height: 30px;
}

.all-products-section {
    padding: 60px 0;
    background-color: #f5f5f5;
}

.product-category-card {
    background: white;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
    padding-bottom: 20px;
}

.product-category-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.category-image-wrapper {
    width: 100%;
    height: 220px;
    overflow: hidden;
    background-color: #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.category-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.product-category-card:hover .category-image-wrapper img {
    transform: scale(1.05);
}

.category-image-placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #e0e0e0 0%, #f5f5f5 100%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.category-name {
    font-size: 22px;
    font-weight: 600;
    color: #333;
    padding: 20px 20px 10px;
    margin: 0;
    text-align: left;
}

.category-products-list {
    padding: 0 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 20px;
}

.product-link {
    color: #666;
    text-decoration: none;
    font-size: 14px;
    padding: 5px 0;
    transition: color 0.2s ease;
    display: block;
}

.product-link:hover {
    color: #ff6b6b;
    text-decoration: none;
}

.btn-shop-now {
    background: linear-gradient(135deg, #ff8989 0%, #ff6b6b 100%);
    color: white;
    border: none;
    padding: 12px 30px;
    font-size: 16px;
    font-weight: 500;
    border-radius: 5px;
    text-decoration: none;
    display: block;
    width: calc(100% - 40px);
    margin: 0 20px;
    text-align: center;
    transition: all 0.3s ease;
}

.btn-shop-now:hover {
    background: linear-gradient(135deg, #ff6b6b 0%, #ff5252 100%);
    color: white;
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3);
}

@media (max-width: 992px) {
    .all-products-header h1 {
        font-size: 36px;
    }

    .all-products-section {
        padding: 40px 0;
    }

    .category-image-wrapper {
        height: 180px;
    }
}

@media (max-width: 576px) {
    .all-products-header h1 {
        font-size: 28px;
    }

    .all-products-breadcrumb .trustpilot-widget {
        text-align: left !important;
        margin-top: 10px;
    }

    .category-image-wrapper {
        height: 200px;
    }
}

/* ================== CATEGORY PAGE REDESIGN  =================== */

.category-header-section {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    padding: 60px 0;
    text-align: center;
}

.category-title {
    font-size: 48px;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 15px;
    letter-spacing: 0.5px;
}

.category-description {
    font-size: 16px;
    color: #6c757d;
    max-width: 800px;
    margin: 0 auto;
    line-height: 1.6;
}

.category-content-section {
    padding: 60px 0;
    background-color: #ffffff;
}

.category-products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 30px;
    margin-bottom: 40px;
}

.category-product-item {
    width: 100%;
}

/* Product Card Styles */
.product-card {
    background: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
    border: 1px solid #e9ecef;
}

.product-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.product-card-link {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.product-card-link:hover {
    text-decoration: none;
    color: inherit;
}

.product-card-image {
    width: 100%;
    height: 280px;
    overflow: hidden;
    background-color: #f8f9fa;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.product-card:hover .product-card-image img {
    transform: scale(1.05);
}

.product-card-content {
    padding: 25px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.product-card-title {
    font-size: 20px;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 12px;
    line-height: 1.3;
    min-height: 52px;
}

.product-card-description {
    font-size: 14px;
    color: #6c757d;
    line-height: 1.6;
    margin-bottom: 20px;
    flex-grow: 1;
}

.product-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
}

.product-card-price {
    font-size: 18px;
    font-weight: 700;
    color: #ff6b6b;
}

.product-card-btn {
    background-color: #1e3a5f;
    color: #ffffff;
    border: none;
    padding: 12px 28px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 5px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.product-card-btn:hover {
    background-color: #152d47;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(30, 58, 95, 0.3);
}

/* Responsive Design */
@media (max-width: 1200px) {
    .category-products-grid {
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
        gap: 25px;
    }
}

@media (max-width: 992px) {
    .category-title {
        font-size: 36px;
    }

    .category-header-section {
        padding: 40px 0;
    }

    .category-content-section {
        padding: 40px 0;
    }

    .category-products-grid {
        grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
        gap: 20px;
    }

    .product-card-image {
        height: 240px;
    }
}

@media (max-width: 768px) {
    .category-title {
        font-size: 32px;
    }

    .category-description {
        font-size: 15px;
    }

    .category-products-grid {
        grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
        gap: 20px;
    }

    .product-card-title {
        font-size: 18px;
        min-height: auto;
    }

    .product-card-image {
        height: 220px;
    }
}

@media (max-width: 576px) {
    .category-title {
        font-size: 28px;
    }

    .category-header-section {
        padding: 30px 0;
    }

    .category-products-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .product-card-image {
        height: 260px;
    }

    .product-card-footer {
        flex-direction: column;
        gap: 15px;
        align-items: flex-start;
    }

    .product-card-btn {
        width: 100%;
    }
}

/* ================== E-SHOP PRODUCT DETAIL PAGE REDESIGN  =================== */

/* Product Detail Wrapper */
.product-detail-wrapper {
    padding: 20px 0 50px;
}

/* Product Title */
.product-detail-wrapper .product-title {
    font-size: 32px;
    font-weight: 600;
    color: #161616;
    margin-bottom: 20px;
    text-align: left;
    line-height: 1.3;
}

/* Product Breadcrumb */
.product-breadcrumb {
    background: transparent;
    padding: 8px 0;
    margin-bottom: 20px;
}

.product-breadcrumb .breadcrumb-item {
    font-size: 14px;
}

.product-breadcrumb .breadcrumb-item a {
    color: #666;
    text-decoration: none;
    transition: color 0.3s ease;
}

.product-breadcrumb .breadcrumb-item a:hover {
    color: #e50606;
}

.product-breadcrumb .breadcrumb-item.active {
    color: #161616;
}

/* Product Buying Section */
.product-buying-section {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    height: 100%;
}

/* Image Gallery Enhancement */
.gallery-wrap {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.product-images-slider {
    border-radius: 8px;
    overflow: hidden;
}

.item-gallery {
    position: relative;
    background: #f8f9fa;
    border-radius: 8px;
    overflow: hidden;
}

.item-gallery a {
    display: block;
    position: relative;
}

.item-gallery img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
    transition: transform 0.3s ease;
}

.item-gallery:hover img {
    transform: scale(1.05);
}

/* Slick Slider for Product Images */
.product-images-slider .slick-dots {
    bottom: 15px;
}

.product-images-slider .slick-dots li button:before {
    font-size: 10px;
    color: #fff;
    opacity: 0.5;
}

.product-images-slider .slick-dots li.slick-active button:before {
    opacity: 1;
    color: #e50606;
}

.product-images-slider .slick-prev,
.product-images-slider .slick-next {
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    z-index: 100;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
}

.product-images-slider .slick-prev:hover,
.product-images-slider .slick-next:hover {
    background: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.product-images-slider .slick-prev {
    left: 15px;
}

.product-images-slider .slick-next {
    right: 15px;
}

.product-images-slider .slick-prev:before,
.product-images-slider .slick-next:before {
    color: #161616;
    font-size: 20px;
    opacity: 1;
}

/* Product Description Section */
.product-description-section {
    background: #fff;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    margin-bottom: 30px;
}

.product-description-section .nav-tabs {
    border-bottom: 2px solid #e9ecef;
    margin-bottom: 25px;
}

.product-description-section .nav-tabs .nav-item {
    margin-bottom: -2px;
    margin-right: 5px;
}

.product-description-section .nav-tabs .nav-link {
    border: none;
    color: #666;
    font-weight: 500;
    padding: 12px 20px;
    border-bottom: 2px solid transparent;
    transition: all 0.3s ease;
    background: transparent;
}

.product-description-section .nav-tabs .nav-link:hover {
    color: #e50606;
    border-bottom-color: transparent;
    background: #f8f9fa;
}

.product-description-section .nav-tabs .nav-link.active {
    color: #e50606;
    border-bottom: 2px solid #e50606;
    background: transparent;
}

.product-description-section .nav-tabs .nav-link i {
    margin-right: 5px;
}

.product-description-section .tab-content {
    padding: 20px 0;
    color: #333;
    line-height: 1.8;
}

.product-description-section .tab-pane {
    min-height: 200px;
}

.product-description-section .tab-pane h3 {
    font-size: 22px;
    font-weight: 600;
    color: #161616;
    margin-bottom: 15px;
}

.product-description-section .tab-pane p {
    margin-bottom: 15px;
    color: #555;
}

.product-description-section .tab-pane ul {
    padding-left: 20px;
    margin-bottom: 15px;
}

.product-description-section .tab-pane ul li {
    margin-bottom: 8px;
    color: #555;
}

/* Product Summary Enhancement */
.product-summary {
    border-radius: 8px;
    overflow: hidden;
    margin-top: 20px;
}

.product-summary .header {
    display: flex;
    align-items: center;
    margin-bottom: 0;
}

.product-summary .header .icon {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 20px;
}

.product-summary .header .title {
    flex: 1;
    padding: 15px 20px;
    margin: 0;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
}

.product-summary .row {
    padding: 12px 20px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    margin: 0;
}

.product-summary .row:last-child {
    border-bottom: none;
}

.product-summary h6 {
    font-size: 14px;
    font-weight: 600;
    color: #333;
    margin: 0;
}

.product-summary p {
    font-size: 14px;
    color: #555;
    margin: 0;
    text-align: right;
}

/* Form Steps Enhancement */
.product-buying-section fieldset {
    border: 1px solid #e9ecef;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 20px;
}

.product-buying-section legend {
    font-size: 18px;
    font-weight: 600;
    color: #161616;
    padding: 0 10px;
    margin-bottom: 15px;
    width: auto;
}

/* Responsive Design */
@media (max-width: 991.98px) {
    .product-detail-wrapper .product-title {
        font-size: 28px;
    }

    .product-buying-section {
        margin-top: 20px;
    }

    .product-description-section {
        padding: 20px;
    }
}

@media (max-width: 767.98px) {
    .product-detail-wrapper .product-title {
        font-size: 24px;
        margin-bottom: 15px;
    }

    .product-buying-section {
        padding: 15px;
    }

    .gallery-wrap {
        padding: 15px;
    }

    .product-description-section {
        padding: 15px;
    }

    .product-description-section .nav-tabs .nav-link {
        padding: 10px 12px;
        font-size: 14px;
    }

    .product-images-slider .slick-prev,
    .product-images-slider .slick-next {
        width: 35px;
        height: 35px;
    }

    .product-images-slider .slick-prev {
        left: 10px;
    }

    .product-images-slider .slick-next {
        right: 10px;
    }
}

@media (max-width: 576px) {
    .product-detail-wrapper .product-title {
        font-size: 22px;
    }

    .product-breadcrumb .breadcrumb-item {
        font-size: 12px;
    }

    .product-summary .header .title {
        font-size: 16px;
        padding: 12px 15px;
    }

    .product-summary .header .icon {
        width: 45px;
        height: 45px;
        font-size: 18px;
    }
}

/* ================== CART PAGE REDESIGN  =================== */

/* Cart Content Section */
.cart-content-section {
    padding: 40px 0;
    background: #f5f5f5;
    overflow: visible;
}

.cart-content-section .container {
    overflow: visible;
}

.cart-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    position: relative;
}

.cart-row > aside {
    position: relative;
}

/* Cart Header Left */
.cart-header-left {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 30px;
    flex-wrap: wrap;
    gap: 20px;
}

.cart-title-group {
    display: flex;
    align-items: center;
    gap: 15px;
}

.cart-title {
    font-size: 28px;
    font-weight: 700;
    color: #161616;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.cart-title i {
    font-size: 28px;
}

.btn-share {
    background: transparent;
    border: none;
    color: #666;
    font-size: 22px;
    cursor: pointer;
    padding: 8px;
    transition: color 0.3s ease;
}

.btn-share:hover {
    color: #161616;
}

/* Progress Steps - Aligned with title */
.progress-steps {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0;
    position: relative;
    padding: 0;
    margin: 0;
}

.progress-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    position: relative;
    flex: 0 0 auto;
}

.progress-step:not(:last-child) {
    margin-right: 80px;
}

.progress-step:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 20px;
    left: calc(100% + 20px);
    width: 80px;
    height: 2px;
    background: #ddd;
    transform: translateX(-20px);
}

.progress-step.active:not(:last-child)::after {
    background: #161616;
}

.step-number {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fff;
    color: #999;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 16px;
    border: 2px solid #ddd;
    transition: all 0.3s ease;
    position: relative;
    z-index: 2;
}

.progress-step.active .step-number {
    background: #161616;
    color: #fff;
    border-color: #161616;
}

.step-label {
    font-size: 14px;
    font-weight: 500;
    color: #999;
    white-space: nowrap;
}

.progress-step.active .step-label {
    color: #161616;
    font-weight: 600;
}

/* Countdown Timer Bar */
.countdown-timer-bar {
    background: #4a6f8a;
    color: #fff;
    padding: 15px 20px;
    border-radius: 8px;
    margin-bottom: 20px;
    font-size: 13px;
    display: flex;
    align-items: center;
    gap: 10px;
    line-height: 1.6;
}

.countdown-timer-bar i.fa-info-circle {
    font-size: 20px;
    flex-shrink: 0;
}

.countdown-timer-bar strong {
    font-weight: 600;
}

.btn-info-icon {
    margin-left: auto;
    background: transparent;
    border: none;
    color: #fff;
    font-size: 18px;
    cursor: pointer;
    padding: 0;
    flex-shrink: 0;
}

/* Cart Item Card */
.cart-item-card {
    background: #fff;
    border-radius: 4px;
    margin-bottom: 20px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.cart-item-body {
    display: flex;
    padding: 25px;
    gap: 20px;
    position: relative;
}

.cart-item-image {
    flex-shrink: 0;
    width: 120px;
    height: 120px;
    border-radius: 4px;
    overflow: hidden;
    background: #f8f9fa;
}

.cart-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cart-item-details {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cart-item-title {
    font-size: 20px;
    font-weight: 600;
    color: #161616;
    margin: 0 0 8px 0;
}

.cart-item-attributes {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px 20px;
}

.attribute-row {
    display: flex;
    gap: 6px;
    font-size: 13px;
    line-height: 1.6;
}

.attribute-label {
    font-weight: 600;
    color: #555;
}

.attribute-value {
    color: #333;
}

/* Hide attributes after 3rd one by default */
.attribute-row.attribute-hidden {
    display: none;
}

.btn-show-more {
    align-self: flex-start;
    background: transparent;
    border: none;
    color: #161616;
    font-weight: 500;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 13px;
    text-decoration: underline;
    transition: color 0.3s ease;
    margin-top: 4px;
}

.btn-show-more:hover {
    color: #e50606;
}

.cart-item-actions {
    display: flex;
    gap: 10px;
    margin-top: 8px;
}

.btn-upload,
.btn-design {
    padding: 10px 20px;
    border: none;
    border-radius: 4px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
}

.btn-upload {
    background: #ea8274;
    color: #fff;
}

.btn-upload:hover {
    background: #e56d5e;
}

.btn-design {
    background: #eba393;
    color: #fff;
}

.btn-design:hover {
    background: #e88e7c;
}

.artwork-warning {
    background: #f5e6b3;
    color: #8a6d3b;
    padding: 10px 15px;
    border-radius: 4px;
    font-size: 13px;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
}

.artwork-warning i {
    font-size: 14px;
}

.cart-item-actions-right {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.btn-icon {
    background: transparent;
    border: none;
    color: #666;
    font-size: 20px;
    cursor: pointer;
    padding: 4px;
    transition: color 0.3s ease;
}

.btn-icon:hover {
    color: #161616;
}

.btn-delete:hover {
    color: #dc3545;
}

.cart-item-footer {
    background: #fff;
    padding: 20px 25px;
    border-top: 1px solid #e9ecef;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.cart-item-price {
    font-size: 32px;
    font-weight: 700;
    color: #161616;
}

.cart-item-vat {
    text-align: right;
}

.cart-item-vat label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #333;
    margin: 0;
    cursor: pointer;
}

.cart-item-vat input[type="checkbox"] {
    width: 16px;
    height: 16px;
    cursor: pointer;
}

.vat-note {
    font-size: 12px;
    color: #888;
    margin: 5px 0 0 24px;
}

/* Order Summary Card */
.order-summary-card {
    background: #fff;
    border-radius: 4px;
    padding: 25px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    position: sticky;
    top: 80px;
    z-index: 100;
    align-self: flex-start;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

/* Scrollbar styling for order summary */
.order-summary-card::-webkit-scrollbar {
    width: 6px;
}

.order-summary-card::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 3px;
}

.order-summary-card::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 3px;
}

.order-summary-card::-webkit-scrollbar-thumb:hover {
    background: #999;
}

.order-summary-title {
    font-size: 22px;
    font-weight: 700;
    color: #161616;
    margin: 0 0 20px 0;
}

.summary-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 12px 0;
    border-bottom: 1px solid #e9ecef;
}

.summary-row:first-of-type {
    padding-top: 0;
}

.summary-label {
    font-size: 14px;
    color: #333;
}

.summary-value {
    font-size: 14px;
    font-weight: 600;
    color: #161616;
    text-align: right;
}

.summary-section {
    margin: 15px 0;
}

.summary-section-title {
    border-bottom: 2px solid #e9ecef;
}

.summary-subsection {
    padding-left: 15px;
    border-bottom: 1px solid #f0f0f0;
}

.summary-subsection .summary-label,
.summary-subsection .summary-value {
    font-size: 13px;
    font-weight: 400;
    color: #666;
}

.summary-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
    border-bottom: 2px solid #e9ecef;
}

.summary-total .summary-label {
    font-size: 18px;
    font-weight: 700;
    color: #161616;
}

.summary-total .summary-value {
    font-size: 32px;
    font-weight: 700;
    color: #161616;
}

.btn-checkout {
    display: block;
    width: 100%;
    padding: 15px 20px;
    background: #ea8274;
    color: #fff;
    text-align: center;
    border: none;
    border-radius: 4px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    margin-top: 20px;
}

.btn-checkout:hover {
    background: #e56d5e;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(234, 130, 116, 0.3);
}

.btn-checkout i {
    margin-left: 8px;
}

.payment-methods {
    margin: 20px 0;
    text-align: center;
}

.payment-icons {
    max-width: 100%;
    height: auto;
}

.support-link {
    text-align: center;
    padding: 15px 0;
    border-top: 1px solid #e9ecef;
}

.support-link a {
    color: #666;
    text-decoration: none;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: color 0.3s ease;
}

.support-link a:hover {
    color: #e50606;
}

.cart-actions-mobile {
    margin-top: 15px;
    display: none;
}

/* Empty Cart */
.empty-cart-message {
    text-align: center;
    padding: 60px 20px;
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.empty-cart-message i {
    font-size: 64px;
    color: #ccc;
    margin-bottom: 20px;
}

.empty-cart-message p {
    font-size: 18px;
    color: #666;
    margin-bottom: 20px;
}

/* Responsive Design */
@media (max-width: 991.98px) {
    .cart-content-section {
        padding: 30px 0;
    }

    .cart-header-left {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 20px;
        gap: 15px;
    }

    .progress-step:not(:last-child) {
        margin-right: 60px;
    }

    .progress-step:not(:last-child)::after {
        width: 60px;
    }

    .cart-item-body {
        flex-wrap: wrap;
    }

    .cart-item-image {
        width: 100%;
        height: 200px;
    }

    .cart-item-actions-right {
        position: absolute;
        top: 25px;
        right: 25px;
    }

    .order-summary-card {
        position: static;
        margin-top: 30px;
    }
}

@media (max-width: 767.98px) {
    .cart-content-section {
        padding: 30px 0;
    }

    .cart-title {
        font-size: 24px;
    }

    .cart-title i {
        font-size: 24px;
    }

    .progress-step:not(:last-child) {
        margin-right: 50px;
    }

    .progress-step:not(:last-child)::after {
        width: 50px;
    }

    .step-number {
        width: 36px;
        height: 36px;
        font-size: 14px;
    }

    .step-label {
        font-size: 12px;
    }

    .countdown-timer-bar {
        font-size: 12px;
        padding: 12px 15px;
    }

    .cart-item-body {
        padding: 20px;
    }

    .cart-item-attributes {
        grid-template-columns: 1fr;
    }

    .cart-item-footer {
        flex-direction: column;
        gap: 15px;
        padding: 15px 20px;
    }

    .cart-item-vat {
        text-align: left;
        width: 100%;
    }

    .cart-item-vat .vat-note {
        margin-left: 24px;
    }

    .cart-actions-mobile {
        display: block;
    }
}

@media (max-width: 576px) {
    .cart-content-section {
        padding: 20px 0;
    }

    .cart-title {
        font-size: 20px;
        gap: 8px;
    }

    .cart-title i {
        font-size: 20px;
    }

    .cart-title-group {
        gap: 10px;
    }

    .progress-step:not(:last-child) {
        margin-right: 40px;
    }

    .progress-step:not(:last-child)::after {
        width: 40px;
    }

    .step-number {
        width: 32px;
        height: 32px;
        font-size: 13px;
    }

    .step-label {
        font-size: 11px;
    }

    .order-summary-card {
        padding: 20px;
    }

    .order-summary-title {
        font-size: 18px;
    }

    .cart-item-card {
        margin-bottom: 15px;
    }

    .cart-item-body {
        padding: 15px;
    }

    .cart-item-title {
        font-size: 18px;
    }

    .cart-item-price {
        font-size: 28px;
    }

    .cart-item-actions {
        flex-direction: column;
        width: 100%;
    }

    .btn-upload,
    .btn-design {
        width: 100%;
        justify-content: center;
    }

    .summary-total .summary-value {
        font-size: 28px;
    }
}

/* ================== ACCOUNT SECTION REDESIGN  =================== */

/* Account Section */
.account-section {
    padding: 40px 0;
    background: #f5f5f5;
}

/* Account Sidebar */
.account-sidebar {
    position: sticky;
    top: 80px;
    margin-bottom: 20px;
}

.account-sidebar-card {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    overflow: hidden;
}

.account-user-info {
    padding: 25px 20px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: #fff;
    text-align: center;
}

.user-avatar {
    margin-bottom: 15px;
}

.user-avatar i {
    font-size: 60px;
    color: rgba(255, 255, 255, 0.9);
}

.user-details {
    margin-top: 10px;
}

.user-name {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 5px 0;
    color: #fff;
}

.user-email {
    font-size: 13px;
    margin: 0;
    color: rgba(255, 255, 255, 0.85);
    word-break: break-word;
}

/* Account Navigation */
.account-nav {
    padding: 0;
}

.account-nav-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 16px 20px;
    color: #333;
    text-decoration: none;
    transition: all 0.3s ease;
    border-bottom: 1px solid #f0f0f0;
    position: relative;
}

.account-nav-item i:first-child {
    font-size: 18px;
    color: #666;
    width: 20px;
    text-align: center;
}

.account-nav-item span {
    flex: 1;
    font-size: 14px;
    font-weight: 500;
}

.account-nav-item i:last-child {
    font-size: 12px;
    color: #ccc;
}

.account-nav-item:hover {
    background: #f8f9fa;
    color: #667eea;
}

.account-nav-item:hover i {
    color: #667eea;
}

.account-nav-item.active {
    background: #f0f4ff;
    color: #667eea;
    border-left: 3px solid #667eea;
}

.account-nav-item.active i {
    color: #667eea;
}

.account-nav-item:last-child {
    border-bottom: none;
}

/* Account Content */
.account-content {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    padding: 30px;
}

/* Page Header */
.account-page-header {
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 2px solid #f0f0f0;
}

.page-title {
    font-size: 28px;
    font-weight: 700;
    color: #161616;
    margin: 0 0 8px 0;
}

.page-subtitle {
    font-size: 14px;
    color: #888;
    margin: 0;
}

/* Orders Toolbar */
.orders-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
    padding: 15px 20px;
    background: #f8f9fa;
    border-radius: 6px;
}

.orders-count {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    font-weight: 600;
    color: #333;
}

.orders-count i {
    font-size: 20px;
    color: #667eea;
}

.btn-sort {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    color: #333;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-sort:hover {
    background: #667eea;
    color: #fff;
    border-color: #667eea;
}

.btn-sort a {
    color: inherit;
    text-decoration: none;
}

/* Orders List */
.orders-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Order Card */
.order-card {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.order-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

/* Order Header */
.order-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 25px;
    background: #f8f9fa;
    border-bottom: 1px solid #e9ecef;
}

.order-info {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.order-number {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    font-weight: 600;
}

.order-number i {
    font-size: 14px;
    color: #888;
}

.order-number a {
    color: #667eea;
    text-decoration: none;
}

.order-number a:hover {
    text-decoration: underline;
}

.order-date {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #666;
}

.order-date i {
    font-size: 12px;
}

/* Order Status */
.order-status {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.order-status i {
    font-size: 14px;
}

.status-success {
    background: #d4edda;
    color: #155724;
}

.status-info {
    background: #d1ecf1;
    color: #0c5460;
}

.status-danger {
    background: #f8d7da;
    color: #721c24;
}

.status-primary {
    background: #e7f1ff;
    color: #004085;
}

/* Order Body */
.order-body {
    padding: 25px;
}

.order-details-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.detail-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.detail-label {
    font-size: 12px;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.detail-value {
    font-size: 15px;
    font-weight: 600;
    color: #333;
}

.total-amount {
    font-size: 18px;
    color: #667eea;
}

/* Order Footer */
.order-footer {
    display: flex;
    gap: 12px;
    padding: 18px 25px;
    background: #f8f9fa;
    border-top: 1px solid #e9ecef;
}

.order-footer a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
}

.btn-view-details {
    background: #667eea;
    color: #fff;
}

.btn-view-details:hover {
    background: #5568d3;
}

.btn-track {
    background: #17a2b8;
    color: #fff;
}

.btn-track:hover {
    background: #138496;
}

.btn-retry {
    background: #dc3545;
    color: #fff;
}

.btn-retry:hover {
    background: #c82333;
}

.btn-invoice {
    background: #28a745;
    color: #fff;
}

.btn-invoice:hover {
    background: #218838;
}

/* Empty Orders */
.empty-orders {
    text-align: center;
    padding: 60px 20px;
}

.empty-orders-icon {
    margin-bottom: 20px;
}

.empty-orders-icon i {
    font-size: 80px;
    color: #ddd;
}

.empty-orders h3 {
    font-size: 24px;
    font-weight: 600;
    color: #333;
    margin: 0 0 10px 0;
}

.empty-orders p {
    font-size: 14px;
    color: #888;
    margin: 0 0 25px 0;
}

.btn-start-shopping {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 30px;
    background: #667eea;
    color: #fff;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
}

.btn-start-shopping:hover {
    background: #5568d3;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}

/* Orders Pagination */
.orders-pagination {
    margin-top: 30px;
    display: flex;
    justify-content: center;
}

/* Responsive Design */
@media (max-width: 991.98px) {
    .account-sidebar {
        position: static;
        margin-bottom: 30px;
    }

    .order-details-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .order-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .order-footer {
        flex-wrap: wrap;
    }

    .order-footer a {
        flex: 1;
        min-width: 140px;
        justify-content: center;
    }
}

@media (max-width: 767.98px) {
    .account-section {
        padding: 20px 0;
    }

    .account-content {
        padding: 20px;
    }

    .page-title {
        font-size: 24px;
    }

    .orders-toolbar {
        flex-direction: column;
        gap: 12px;
        align-items: stretch;
    }

    .btn-sort {
        justify-content: center;
    }

    .order-details-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .order-footer {
        flex-direction: column;
        gap: 10px;
    }

    .order-footer a {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 576px) {
    .account-content {
        padding: 15px;
        border-radius: 0;
    }

    .account-sidebar-card {
        border-radius: 0;
    }

    .order-card {
        border-radius: 0;
        border-left: none;
        border-right: none;
    }

    .page-title {
        font-size: 20px;
    }

    .order-header,
    .order-body,
    .order-footer {
        padding: 15px;
    }
}

/* ================== ORDER DETAIL PAGE REDESIGN  =================== */

/* Order Breadcrumb */
.order-breadcrumb {
    margin-bottom: 20px;
}

.back-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #667eea;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.back-link:hover {
    color: #5568d3;
    gap: 12px;
}

.back-link i {
    font-size: 12px;
}

/* Order Detail Header */
.order-detail-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 25px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 8px;
    margin-bottom: 30px;
    color: #fff;
}

.order-detail-info {
    flex: 1;
}

.order-detail-title {
    font-size: 26px;
    font-weight: 700;
    margin: 0 0 10px 0;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 10px;
}

.order-detail-title i {
    font-size: 22px;
}

.order-detail-date {
    font-size: 14px;
    margin: 0;
    color: rgba(255, 255, 255, 0.9);
    display: flex;
    align-items: center;
    gap: 8px;
}

.order-detail-date i {
    font-size: 13px;
}

.order-detail-status .order-status {
    padding: 10px 20px;
    font-size: 13px;
}

/* Order Summary Grid */
.order-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 30px;
}

.order-summary-card {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    overflow: hidden;
}

.summary-card-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 18px 20px;
    background: #f8f9fa;
    border-bottom: 1px solid #e9ecef;
}

.summary-card-header i {
    font-size: 18px;
    color: #667eea;
}

.summary-card-header h3 {
    font-size: 16px;
    font-weight: 600;
    margin: 0;
    color: #333;
}

.summary-card-body {
    padding: 20px;
}

.summary-item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 10px 0;
    border-bottom: 1px solid #f0f0f0;
}

.summary-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.summary-item:first-child {
    padding-top: 0;
}

.summary-label {
    font-size: 13px;
    color: #888;
    font-weight: 500;
}

.summary-value {
    font-size: 14px;
    color: #333;
    font-weight: 600;
    text-align: right;
}

.summary-value.highlight {
    font-size: 18px;
    color: #667eea;
}

.address-block {
    font-size: 14px;
    line-height: 1.8;
    color: #333;
}

.address-block strong {
    color: #161616;
    font-size: 15px;
}

.phone-number {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 5px;
    color: #667eea;
    font-weight: 500;
}

.phone-number i {
    font-size: 12px;
}

.payment-status-badge {
    padding: 4px 12px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.badge-success {
    background: #d4edda;
    color: #155724;
}

.badge-warning {
    background: #fff3cd;
    color: #856404;
}

.badge-secondary {
    background: #e2e3e5;
    color: #383d41;
}

/* Order Actions */
.order-actions {
    display: flex;
    gap: 12px;
    margin-bottom: 30px;
    flex-wrap: wrap;
}

.btn-action {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
}

.btn-track {
    background: #17a2b8;
    color: #fff;
}

.btn-track:hover {
    background: #138496;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(23, 162, 184, 0.3);
}

.btn-retry {
    background: #dc3545;
    color: #fff;
}

.btn-retry:hover {
    background: #c82333;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(220, 53, 69, 0.3);
}

.btn-invoice {
    background: #28a745;
    color: #fff;
}

.btn-invoice:hover {
    background: #218838;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(40, 167, 69, 0.3);
}

/* Order Items Section */
.order-items-section {
    margin-bottom: 30px;
}

.section-header {
    background: #f8f9fa;
    border-radius: 8px 8px 0 0;
    border: 1px solid #e9ecef;
    border-bottom: none;
}

.section-title {
    font-size: 18px;
    font-weight: 600;
    margin: 0;
    color: #333;
}

.order-items-list {
    border: 1px solid #e9ecef;
    border-radius: 0 0 8px 8px;
    overflow: hidden;
}

/* Order Item Card */
.order-item-card {
    display: flex;
    gap: 20px;
    padding: 25px;
    background: #fff;
    border-bottom: 1px solid #e9ecef;
    transition: background 0.3s ease;
}

.order-item-card:last-child {
    border-bottom: none;
}

.order-item-card:hover {
    background: #f8f9fa;
}

.item-image {
    flex-shrink: 0;
    width: 120px;
    height: 120px;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #e9ecef;
}

.item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.item-details {
    flex: 1;
}

.item-name {
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 12px 0;
}

.item-name a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s ease;
}

.item-name a:hover {
    color: #667eea;
}

.item-attributes {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px 20px;
}

.attribute-item {
    font-size: 13px;
    line-height: 1.6;
}

.attr-label {
    font-weight: 600;
    color: #555;
}

.attr-value {
    color: #333;
    margin-left: 4px;
}

.item-pricing {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
    min-width: 140px;
}

.item-quantity,
.item-price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
}

.qty-label,
.price-label {
    font-size: 12px;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.qty-value {
    font-size: 16px;
    font-weight: 600;
    color: #333;
}

.price-value {
    font-size: 18px;
    font-weight: 700;
    color: #667eea;
}

/* Order Total Section */
.order-total-section {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    padding: 25px 30px;
    border-radius: 8px;
    margin-top: 30px;
}

.total-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.total-label {
    font-size: 18px;
    font-weight: 600;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.total-value {
    font-size: 28px;
    font-weight: 700;
    color: #fff;
}

/* Responsive Design for Order Detail */
@media (max-width: 991.98px) {
    .order-summary-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .order-detail-header {
        flex-direction: column;
        gap: 15px;
        align-items: flex-start;
    }

    .order-detail-status {
        width: 100%;
    }

    .order-detail-status .order-status {
        display: inline-flex;
    }

    .item-attributes {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .order-detail-header {
        padding: 20px;
    }

    .order-detail-title {
        font-size: 22px;
    }

    .order-actions {
        flex-direction: column;
    }

    .btn-action {
        width: 100%;
        justify-content: center;
    }

    .order-item-card {
        flex-direction: column;
        padding: 20px;
    }

    .item-image {
        width: 100%;
        height: 200px;
    }

    .item-pricing {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        width: 100%;
    }

    .item-quantity,
    .item-price {
        align-items: flex-start;
    }

    .order-total-section {
        padding: 20px;
    }

    .total-label {
        font-size: 16px;
    }

    .total-value {
        font-size: 24px;
    }
}

@media (max-width: 576px) {
    .order-detail-header {
        border-radius: 0;
    }

    .section-header,
    .order-items-list {
        border-radius: 0;
        border-left: none;
        border-right: none;
    }

    .order-total-section {
        border-radius: 0;
    }

    .item-attributes {
        gap: 6px;
    }
}

/* ====================================
   Profile Page Styles
   ==================================== */

/* Profile Header */
.profile-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 2px solid #f0f0f0;
}

.profile-header-info {
    flex: 1;
}

.profile-header .page-title {
    font-size: 28px;
    font-weight: 700;
    color: #2d3748;
    margin: 0 0 5px 0;
}

.profile-header .page-subtitle {
    font-size: 14px;
    color: #718096;
    margin: 0;
}

.btn-edit-profile {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: #fff;
    border: none;
    padding: 12px 24px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.25);
}

.btn-edit-profile:hover {
    box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
    transform: translateY(-2px);
}

.btn-cancel-edit {
    background: #fff;
    color: #e53e3e;
    border: 2px solid #e53e3e;
    padding: 12px 24px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 8px;
}

.btn-cancel-edit:hover {
    background: #e53e3e;
    color: #fff;
}

/* Profile Avatar Section */
.profile-avatar-section {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 12px;
    padding: 40px;
    display: flex;
    align-items: center;
    gap: 30px;
    margin-bottom: 30px;
    box-shadow: 0 4px 20px rgba(102, 126, 234, 0.2);
}

.profile-avatar-large {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 4px solid rgba(255, 255, 255, 0.3);
}

.profile-avatar-large i {
    font-size: 64px;
    color: #fff;
}

.profile-user-info {
    flex: 1;
}

.profile-user-name {
    font-size: 32px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 8px 0;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.profile-user-email {
    font-size: 16px;
    color: rgba(255, 255, 255, 0.9);
    margin: 0;
}

/* Profile Details Grid */
.profile-details-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
    margin-bottom: 30px;
}

.profile-info-card {
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    transition: all 0.3s ease;
}

.profile-info-card:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}

.info-card-header {
    background: linear-gradient(135deg, #f7fafc 0%, #edf2f7 100%);
    padding: 20px 25px;
    display: flex;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid #e2e8f0;
}

.info-card-header i {
    font-size: 20px;
    color: #667eea;
}

.info-card-header h3 {
    font-size: 18px;
    font-weight: 600;
    color: #2d3748;
    margin: 0;
}

.info-card-body {
    padding: 25px;
}

.info-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 20px;
}

.info-item:last-child {
    margin-bottom: 0;
}

.info-label {
    font-size: 13px;
    font-weight: 600;
    color: #718096;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.info-value {
    font-size: 16px;
    font-weight: 500;
    color: #2d3748;
}

/* Profile Edit Form */
.profile-edit-form {
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    padding: 30px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.form-section {
    margin-bottom: 35px;
}

.form-section:last-of-type {
    margin-bottom: 0;
}

.form-section-title {
    font-size: 18px;
    font-weight: 600;
    color: #2d3748;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid #e2e8f0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.form-section-title i {
    font-size: 18px;
    color: #667eea;
}

.form-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 20px;
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    font-size: 14px;
    font-weight: 600;
    color: #4a5568;
    margin-bottom: 8px;
    display: block;
}

.form-group .required {
    color: #e53e3e;
}

.form-group .form-control {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e2e8f0;
    border-radius: 8px;
    font-size: 15px;
    color: #2d3748;
    transition: all 0.3s ease;
    background: #fff;
}

.form-group .form-control:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.form-group .form-control:readonly {
    background: #f7fafc;
    color: #718096;
    cursor: not-allowed;
}

.form-group .form-text {
    font-size: 12px;
    color: #718096;
    margin-top: 6px;
    display: block;
}

/* Form Actions */
.form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 15px;
    margin-top: 30px;
    padding-top: 25px;
    border-top: 2px solid #e2e8f0;
}

.form-actions .btn-secondary {
    background: #fff;
    color: #718096;
    border: 2px solid #e2e8f0;
    padding: 12px 30px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 8px;
}

.form-actions .btn-secondary:hover {
    background: #f7fafc;
    border-color: #cbd5e0;
}

.form-actions .btn-primary {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: #fff;
    border: none;
    padding: 12px 30px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.25);
}

.form-actions .btn-primary:hover {
    box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
    transform: translateY(-2px);
}

/* Responsive Design for Profile Page */
@media (max-width: 991.98px) {
    .profile-details-grid {
        grid-template-columns: 1fr;
    }

    .profile-avatar-section {
        flex-direction: column;
        text-align: center;
        padding: 30px;
    }

    .profile-user-name {
        font-size: 26px;
    }

    .form-row {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .profile-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }

    .btn-edit-profile,
    .btn-cancel-edit {
        width: 100%;
        justify-content: center;
    }

    .profile-header .page-title {
        font-size: 24px;
    }

    .profile-avatar-section {
        padding: 25px 20px;
    }

    .profile-avatar-large {
        width: 100px;
        height: 100px;
    }

    .profile-avatar-large i {
        font-size: 52px;
    }

    .profile-user-name {
        font-size: 22px;
    }

    .profile-user-email {
        font-size: 14px;
    }

    .profile-edit-form {
        padding: 20px;
    }

    .form-actions {
        flex-direction: column;
    }

    .form-actions .btn-secondary,
    .form-actions .btn-primary {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 576px) {
    .profile-avatar-section {
        border-radius: 0;
        border-left: none;
        border-right: none;
    }

    .profile-edit-form {
        border-radius: 0;
        border-left: none;
        border-right: none;
    }

    .info-card-header {
        padding: 15px 20px;
    }

    .info-card-body {
        padding: 20px;
    }
}

/* ====================================
   Change Password Page Styles
   ==================================== */

/* Password Page Header */
.password-page-header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
    padding: 25px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(102, 126, 234, 0.2);
}

.password-header-icon {
    width: 60px;
    height: 60px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.password-header-icon i {
    font-size: 28px;
    color: #fff;
}

.password-header-info {
    flex: 1;
}

.password-page-header .page-title {
    font-size: 26px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 5px 0;
}

.password-page-header .page-subtitle {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.9);
    margin: 0;
}

/* Password Content Grid */
.password-content-grid {
    display: grid;
    grid-template-columns: 1fr 350px;
    gap: 25px;
    align-items: start;
}

/* Password Form Card */
.password-form-card {
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    padding: 35px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.password-form-group {
    margin-bottom: 25px;
}

.password-form-group:last-of-type {
    margin-bottom: 0;
}

.password-form-group label {
    font-size: 14px;
    font-weight: 600;
    color: #4a5568;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.password-form-group label i {
    font-size: 14px;
    color: #667eea;
}

.password-form-group .required {
    color: #e53e3e;
}

.password-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.password-input-wrapper .form-control {
    width: 100%;
    padding: 14px 50px 14px 16px;
    border: 2px solid #e2e8f0;
    border-radius: 8px;
    font-size: 15px;
    color: #2d3748;
    transition: all 0.3s ease;
    background: #fff;
}

.password-input-wrapper .form-control:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.password-input-wrapper .form-control.is-invalid {
    border-color: #e53e3e;
}

.password-input-wrapper .form-control.is-invalid:focus {
    box-shadow: 0 0 0 3px rgba(229, 62, 62, 0.1);
}

.password-toggle {
    position: absolute;
    right: 12px;
    background: none;
    border: none;
    color: #718096;
    cursor: pointer;
    padding: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.3s ease;
}

.password-toggle:hover {
    color: #667eea;
}

.password-toggle i {
    font-size: 16px;
}

.error-message {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    font-size: 13px;
    color: #e53e3e;
}

.error-message i {
    font-size: 14px;
}

/* Password Strength Meter */
.password-strength-meter {
    height: 4px;
    background: #e2e8f0;
    border-radius: 2px;
    margin-top: 10px;
    overflow: hidden;
}

.strength-meter-bar {
    height: 100%;
    width: 0%;
    transition: all 0.3s ease;
    border-radius: 2px;
}

.strength-meter-bar.weak {
    background: #e53e3e;
}

.strength-meter-bar.medium {
    background: #ed8936;
}

.strength-meter-bar.strong {
    background: #48bb78;
}

.strength-meter-bar.very-strong {
    background: #38a169;
}

.password-strength-text {
    font-size: 12px;
    margin-top: 6px;
    margin-bottom: 0;
    font-weight: 600;
}

.password-strength-text.weak {
    color: #e53e3e;
}

.password-strength-text.medium {
    color: #ed8936;
}

.password-strength-text.strong {
    color: #48bb78;
}

.password-strength-text.very-strong {
    color: #38a169;
}

/* Password Form Actions */
.password-form-actions {
    margin-top: 30px;
    padding-top: 25px;
    border-top: 2px solid #e2e8f0;
}

.btn-change-password {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: #fff;
    border: none;
    padding: 14px 40px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.25);
}

.btn-change-password:hover {
    box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
    transform: translateY(-2px);
}

.btn-change-password i {
    font-size: 16px;
}

/* Security Tips Card */
.security-tips-card {
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    position: sticky;
    top: 80px;
}

.tips-header {
    background: linear-gradient(135deg, #f7fafc 0%, #edf2f7 100%);
    padding: 20px 25px;
    display: flex;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid #e2e8f0;
}

.tips-header i {
    font-size: 20px;
    color: #667eea;
}

.tips-header h3 {
    font-size: 18px;
    font-weight: 600;
    color: #2d3748;
    margin: 0;
}

.tips-body {
    padding: 25px;
}

.tip-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
}

.tip-item:last-child {
    margin-bottom: 0;
}

.tip-item i {
    font-size: 16px;
    color: #48bb78;
    margin-top: 2px;
    flex-shrink: 0;
}

.tip-item p {
    font-size: 14px;
    color: #4a5568;
    margin: 0;
    line-height: 1.6;
}

/* Responsive Design for Change Password Page */
@media (max-width: 991.98px) {
    .password-content-grid {
        grid-template-columns: 1fr;
    }

    .security-tips-card {
        position: relative;
        top: 0;
    }

    .password-form-card {
        padding: 30px 25px;
    }
}

@media (max-width: 767.98px) {
    .password-page-header {
        flex-direction: column;
        text-align: center;
        padding: 20px;
    }

    .password-page-header .page-title {
        font-size: 22px;
    }

    .password-header-icon {
        width: 50px;
        height: 50px;
    }

    .password-header-icon i {
        font-size: 24px;
    }

    .password-form-card {
        padding: 25px 20px;
    }

    .tips-body {
        padding: 20px;
    }
}

@media (max-width: 576px) {
    .password-page-header {
        border-radius: 0;
        border-left: none;
        border-right: none;
    }

    .password-form-card {
        border-radius: 0;
        border-left: none;
        border-right: none;
    }

    .security-tips-card {
        border-radius: 0;
        border-left: none;
        border-right: none;
    }

    .password-input-wrapper .form-control {
        padding: 12px 45px 12px 14px;
        font-size: 14px;
    }
}

/* ================== BLOG PAGE STYLES =================== */

/* Blog Header Section */
.blog-header-section {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    padding: 80px 0 60px;
    margin-bottom: 60px;
    position: relative;
    overflow: hidden;
}

.blog-header-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="grid" width="100" height="100" patternUnits="userSpaceOnUse"><path d="M 100 0 L 0 0 0 100" fill="none" stroke="rgba(255,255,255,0.1)" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(%23grid)"/></svg>');
    opacity: 0.3;
}

.blog-header-content {
    text-align: center;
    position: relative;
    z-index: 1;
}

.blog-main-title {
    font-size: 48px;
    font-weight: 700;
    color: white;
    margin-bottom: 16px;
    letter-spacing: -1px;
}

.blog-subtitle {
    font-size: 18px;
    color: rgba(255, 255, 255, 0.9);
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Blog Grid Section */
.blog-grid-section {
    padding: 0 0 80px;
}

.blog-grid {
    margin-bottom: 40px;
}

/* Blog Card Styles */
.blog-card {
    background: white;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    height: 100%;
    display: flex;
    flex-direction: column;
}

.blog-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
}

.blog-card-link {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.blog-card-link:hover {
    text-decoration: none;
    color: inherit;
}

/* Blog Card Image */
.blog-card-image {
    position: relative;
    width: 100%;
    height: 260px;
    overflow: hidden;
    background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
}

.blog-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.blog-card:hover .blog-card-image img {
    transform: scale(1.1);
}

.blog-card-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
        180deg,
        transparent 0%,
        rgba(0, 0, 0, 0.7) 100%
    );
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    transition: opacity 0.4s ease;
}

.blog-card:hover .blog-card-overlay {
    opacity: 1;
}

.read-more-btn {
    background: white;
    color: #333;
    padding: 12px 24px;
    border-radius: 25px;
    font-weight: 600;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transform: translateY(20px);
    transition: transform 0.4s ease;
}

.blog-card:hover .read-more-btn {
    transform: translateY(0);
}

.read-more-btn i {
    font-size: 12px;
}

/* Blog Card Content */
.blog-card-content {
    padding: 28px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.blog-card-meta {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px;
}

.blog-date {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #666;
    font-weight: 500;
}

.blog-date i {
    color: #dc3545;
    font-size: 14px;
}

.blog-card-title {
    font-size: 22px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 14px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.3s ease;
}

.blog-card:hover .blog-card-title {
    color: #dc3545;
}

.blog-card-excerpt {
    font-size: 15px;
    color: #666;
    line-height: 1.7;
    margin-bottom: 20px;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.blog-card-footer {
    padding-top: 16px;
    border-top: 1px solid #eee;
    margin-top: auto;
}

.read-more-link {
    color: #dc3545;
    font-weight: 600;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: gap 0.3s ease;
}

.blog-card:hover .read-more-link {
    gap: 12px;
}

.read-more-link i {
    font-size: 14px;
}

/* Blog Pagination */
.blog-pagination {
    display: flex;
    justify-content: center;
    margin-top: 60px;
}

.blog-pagination .pagination {
    gap: 8px;
}

.blog-pagination .page-link {
    border-radius: 8px;
    padding: 10px 16px;
    border: 2px solid #e0e0e0;
    color: #333;
    font-weight: 600;
    transition: all 0.3s ease;
}

.blog-pagination .page-link:hover {
    background: #dc3545;
    border-color: #dc3545;
    color: white;
    transform: translateY(-2px);
}

.blog-pagination .page-item.active .page-link {
    background: #dc3545;
    border-color: #dc3545;
    color: white;
}

/* Responsive Design */
@media (max-width: 991px) {
    .blog-main-title {
        font-size: 38px;
    }

    .blog-subtitle {
        font-size: 16px;
    }

    .blog-card-image {
        height: 220px;
    }
}

@media (max-width: 767px) {
    .blog-header-section {
        padding: 60px 0 40px;
        margin-bottom: 40px;
    }

    .blog-main-title {
        font-size: 32px;
    }

    .blog-subtitle {
        font-size: 15px;
        padding: 0 20px;
    }

    .blog-grid-section {
        padding: 0 0 60px;
    }

    .blog-card-image {
        height: 200px;
    }

    .blog-card-content {
        padding: 20px;
    }

    .blog-card-title {
        font-size: 19px;
    }

    .blog-card-excerpt {
        font-size: 14px;
    }

    .blog-pagination {
        margin-top: 40px;
    }
}

@media (max-width: 576px) {
    .blog-main-title {
        font-size: 28px;
    }

    .blog-card {
        margin-bottom: 20px;
    }
}

/* Animation */
@keyframes blogFadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.blog-card {
    animation: blogFadeInUp 0.6s ease-out;
}

.blog-card:nth-child(2) {
    animation-delay: 0.1s;
}

.blog-card:nth-child(3) {
    animation-delay: 0.2s;
}

/* ================== END OF BLOG PAGE STYLES =================== */

/* ================== BLOG DETAIL PAGE STYLES =================== */

/* Blog Detail Hero Section */
.blog-detail-hero {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    padding: 40px 0 30px;
}

.breadcrumb-modern {
    background: transparent;
    padding: 0;
    margin-bottom: 0;
}

.breadcrumb-modern .breadcrumb {
    background: transparent;
    padding: 0;
    margin: 0;
}

.breadcrumb-modern .breadcrumb-item {
    font-size: 14px;
}

.breadcrumb-modern .breadcrumb-item a {
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
    transition: color 0.3s ease;
}

.breadcrumb-modern .breadcrumb-item a:hover {
    color: #fff;
    text-decoration: underline;
}

.breadcrumb-modern .breadcrumb-item.active {
    color: rgba(255, 255, 255, 0.7);
}

.breadcrumb-modern .breadcrumb-item + .breadcrumb-item::before {
    content: "›";
    color: rgba(255, 255, 255, 0.7);
    font-size: 18px;
    padding: 0 8px;
}

/* Blog Detail Header */
.blog-detail-header {
    background: #fff;
    padding: 50px 0;
    border-bottom: 1px solid #e9ecef;
}

.blog-detail-title {
    font-size: 42px;
    font-weight: 700;
    color: #161616;
    line-height: 1.3;
    margin: 0 0 25px 0;
    letter-spacing: -0.5px;
}

.blog-detail-meta {
    display: flex;
    align-items: center;
    gap: 25px;
    flex-wrap: wrap;
}

.meta-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #666;
}

.meta-item i {
    font-size: 15px;
    color: #667eea;
}

.meta-separator {
    width: 1px;
    height: 16px;
    background: #ddd;
}

/* Blog Detail Featured Image */
.blog-detail-featured-image {
    padding: 50px 0;
    background: #f8f9fa;
}

.featured-image-wrapper {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
}

.featured-image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    max-height: 400px;
    object-fit: cover;
}

/* Blog Detail Body */
.blog-detail-body {
    padding: 50px 0;
    background: #fff;
}

/* Rich Text Content Styling */
.rich-text-content {
    font-size: 17px;
    line-height: 1.8;
    color: #333;
}

.rich-text-content h1,
.rich-text-content h2,
.rich-text-content h3,
.rich-text-content h4,
.rich-text-content h5,
.rich-text-content h6 {
    font-weight: 700;
    color: #161616;
    margin-top: 40px;
    margin-bottom: 20px;
    line-height: 1.3;
    letter-spacing: -0.3px;
}

.rich-text-content h1 {
    font-size: 36px;
    margin-top: 50px;
    padding-bottom: 15px;
    border-bottom: 3px solid #667eea;
}

.rich-text-content h2 {
    font-size: 32px;
    margin-top: 45px;
    padding-bottom: 12px;
    border-bottom: 2px solid #e9ecef;
}

.rich-text-content h3 {
    font-size: 28px;
    margin-top: 40px;
}

.rich-text-content h4 {
    font-size: 24px;
    margin-top: 35px;
}

.rich-text-content h5 {
    font-size: 20px;
    margin-top: 30px;
}

.rich-text-content h6 {
    font-size: 18px;
    margin-top: 25px;
    color: #666;
}

.rich-text-content h1:first-child,
.rich-text-content h2:first-child,
.rich-text-content h3:first-child,
.rich-text-content h4:first-child,
.rich-text-content h5:first-child,
.rich-text-content h6:first-child {
    margin-top: 0;
}

.rich-text-content p {
    margin-bottom: 20px;
    text-align: justify;
}

.rich-text-content p:last-child {
    margin-bottom: 0;
}

.rich-text-content a {
    color: #667eea;
    text-decoration: underline;
    transition: color 0.3s ease;
}

.rich-text-content a:hover {
    color: #5568d3;
    text-decoration: none;
}

.rich-text-content strong,
.rich-text-content b {
    font-weight: 700;
    color: #161616;
}

.rich-text-content em,
.rich-text-content i {
    font-style: italic;
}

.rich-text-content u {
    text-decoration: underline;
}

.rich-text-content s,
.rich-text-content strike,
.rich-text-content del {
    text-decoration: line-through;
}

/* Lists */
.rich-text-content ul,
.rich-text-content ol {
    margin: 25px 0;
    padding-left: 35px;
}

.rich-text-content ul {
    list-style-type: disc;
}

.rich-text-content ol {
    list-style-type: decimal;
}

.rich-text-content ul ul,
.rich-text-content ol ul {
    list-style-type: circle;
    margin-top: 10px;
    margin-bottom: 10px;
}

.rich-text-content ul ol,
.rich-text-content ol ol {
    list-style-type: lower-alpha;
    margin-top: 10px;
    margin-bottom: 10px;
}

.rich-text-content li {
    margin-bottom: 10px;
    line-height: 1.7;
}

.rich-text-content li:last-child {
    margin-bottom: 0;
}

.rich-text-content li > p {
    margin-bottom: 10px;
}

/* Blockquotes */
.rich-text-content blockquote {
    margin: 30px 0;
    padding: 25px 30px;
    background: #f8f9fa;
    border-left: 4px solid #667eea;
    border-radius: 0 8px 8px 0;
    font-style: italic;
    position: relative;
}

.rich-text-content blockquote::before {
    content: "";
    font-size: 60px;
    color: rgba(102, 126, 234, 0.2);
    position: absolute;
    top: 10px;
    left: 15px;
    font-family: Georgia, serif;
    line-height: 1;
}

.rich-text-content blockquote p {
    margin: 0;
    padding-left: 45px;
    font-size: 18px;
    color: #555;
}

.rich-text-content blockquote cite {
    display: block;
    margin-top: 15px;
    padding-left: 45px;
    font-size: 14px;
    color: #888;
    font-style: normal;
}

.rich-text-content blockquote cite::before {
    content: "— ";
}

/* Code Blocks */
.rich-text-content code {
    background: #f4f4f4;
    padding: 3px 8px;
    border-radius: 4px;
    font-family: "Consolas", "Monaco", "Courier New", monospace;
    font-size: 15px;
    color: #e53e3e;
}

.rich-text-content pre {
    background: #2d3748;
    color: #fff;
    padding: 25px;
    border-radius: 8px;
    overflow-x: auto;
    margin: 30px 0;
}

.rich-text-content pre code {
    background: transparent;
    padding: 0;
    color: #fff;
    font-size: 14px;
    line-height: 1.6;
}

/* Tables */
.rich-text-content table {
    width: 100%;
    margin: 30px 0;
    border-collapse: collapse;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.rich-text-content table thead {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: #fff;
}

.rich-text-content table thead th {
    padding: 15px 20px;
    text-align: left;
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rich-text-content table tbody tr {
    border-bottom: 1px solid #e9ecef;
    transition: background 0.3s ease;
}

.rich-text-content table tbody tr:last-child {
    border-bottom: none;
}

.rich-text-content table tbody tr:hover {
    background: #f8f9fa;
}

.rich-text-content table tbody td {
    padding: 15px 20px;
    font-size: 15px;
    color: #333;
}

.rich-text-content table tbody tr:nth-child(even) {
    background: #fafbfc;
}

.rich-text-content table tbody tr:nth-child(even):hover {
    background: #f0f2f5;
}

/* Images */
.rich-text-content img {
    max-width: 100%;
    height: auto;
    margin: 30px 0;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    display: block;
}

.rich-text-content figure {
    margin: 30px 0;
    text-align: center;
}

.rich-text-content figure img {
    margin: 0 auto;
}

.rich-text-content figcaption {
    margin-top: 15px;
    font-size: 14px;
    color: #888;
    font-style: italic;
}

/* Horizontal Rule */
.rich-text-content hr {
    margin: 40px 0;
    border: none;
    border-top: 2px solid #e9ecef;
}

/* Embedded Content */
.rich-text-content iframe,
.rich-text-content video {
    max-width: 100%;
    margin: 30px 0;
    border-radius: 8px;
    display: block;
}

/* Blog Detail Footer */
.blog-detail-footer {
    background: #f8f9fa;
    padding: 40px 0;
    border-top: 1px solid #e9ecef;
}

.share-section {
    text-align: center;
}

.share-title {
    font-size: 18px;
    font-weight: 600;
    color: #333;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.share-title i {
    font-size: 20px;
    color: #667eea;
}

.share-buttons {
    display: flex;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
}

.share-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 24px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.share-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    text-decoration: none;
}

.share-btn i {
    font-size: 16px;
}

.share-facebook {
    background: #1877f2;
}

.share-facebook:hover {
    background: #145dbf;
}

.share-twitter {
    background: #1da1f2;
}

.share-twitter:hover {
    background: #0d8bd9;
}

.share-linkedin {
    background: #0077b5;
}

.share-linkedin:hover {
    background: #005885;
}

.share-whatsapp {
    background: #25d366;
}

.share-whatsapp:hover {
    background: #1da851;
}

.share-email {
    background: #666;
}

.share-email:hover {
    background: #444;
}

/* Blog Detail Back Button */
.blog-detail-back {
    padding: 40px 0;
    background: #fff;
}

.btn-back-to-blog {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 30px;
    background: #667eea;
    color: #fff;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.25);
}

.btn-back-to-blog:hover {
    background: #5568d3;
    color: #fff;
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
}

.btn-back-to-blog i {
    font-size: 16px;
    transition: transform 0.3s ease;
}

.btn-back-to-blog:hover i {
    transform: translateX(-5px);
}

/* Responsive Design for Blog Detail */
@media (max-width: 991.98px) {
    .blog-detail-title {
        font-size: 36px;
    }

    .rich-text-content {
        font-size: 16px;
    }

    .rich-text-content h1 {
        font-size: 32px;
    }

    .rich-text-content h2 {
        font-size: 28px;
    }

    .rich-text-content h3 {
        font-size: 24px;
    }

    .rich-text-content h4 {
        font-size: 22px;
    }

    .rich-text-content blockquote p {
        font-size: 17px;
    }
}

@media (max-width: 767.98px) {
    .blog-detail-hero {
        padding: 30px 0 25px;
    }

    .blog-detail-header {
        padding: 40px 0;
    }

    .blog-detail-title {
        font-size: 30px;
        margin-bottom: 20px;
    }

    .blog-detail-meta {
        gap: 15px;
    }

    .meta-item {
        font-size: 13px;
    }

    .blog-detail-featured-image {
        padding: 40px 0;
    }

    .featured-image-wrapper {
        border-radius: 8px;
    }

    .blog-detail-body {
        padding: 40px 0;
    }

    .rich-text-content {
        font-size: 15px;
    }

    .rich-text-content h1 {
        font-size: 28px;
        margin-top: 40px;
    }

    .rich-text-content h2 {
        font-size: 24px;
        margin-top: 35px;
    }

    .rich-text-content h3 {
        font-size: 22px;
        margin-top: 30px;
    }

    .rich-text-content h4 {
        font-size: 20px;
        margin-top: 25px;
    }

    .rich-text-content blockquote {
        padding: 20px 25px;
    }

    .rich-text-content blockquote p {
        font-size: 16px;
        padding-left: 35px;
    }

    .rich-text-content blockquote cite {
        padding-left: 35px;
    }

    .rich-text-content pre {
        padding: 20px;
    }

    .rich-text-content table {
        font-size: 14px;
    }

    .rich-text-content table thead th {
        padding: 12px 15px;
        font-size: 13px;
    }

    .rich-text-content table tbody td {
        padding: 12px 15px;
        font-size: 14px;
    }

    .share-buttons {
        gap: 12px;
    }

    .share-btn {
        padding: 10px 20px;
        font-size: 13px;
    }
}

@media (max-width: 576px) {
    .blog-detail-title {
        font-size: 26px;
    }

    .blog-detail-meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .meta-separator {
        display: none;
    }

    .rich-text-content p {
        text-align: left;
    }

    .rich-text-content ul,
    .rich-text-content ol {
        padding-left: 25px;
    }

    .rich-text-content blockquote::before {
        font-size: 50px;
        top: 5px;
        left: 10px;
    }

    .rich-text-content blockquote p {
        padding-left: 25px;
        font-size: 15px;
    }

    .rich-text-content blockquote cite {
        padding-left: 25px;
    }

    .rich-text-content table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }

    .share-buttons {
        flex-direction: column;
        gap: 10px;
    }

    .share-btn {
        width: 100%;
        justify-content: center;
    }

    .btn-back-to-blog {
        width: 100%;
        justify-content: center;
    }
}

/* ================== END OF BLOG DETAIL PAGE STYLES =================== */
/* Modern Checkout Page Styles */

.checkout-container {
    background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
    min-height: 100vh;
    padding: 60px 0;
}

.checkout-progress {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 40px;
    padding: 0;
    list-style: none;
}

.checkout-progress li {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
}

.checkout-progress li:not(:last-child)::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 3px;
    background: #e0e0e0;
    top: 20px;
    left: 50%;
    z-index: 0;
}

.checkout-progress li.active:not(:last-child)::after {
    background: var(--primary-color, #dc3545);
}

.checkout-progress li.completed:not(:last-child)::after {
    background: #28a745;
}

.checkout-step {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: white;
    border: 3px solid #e0e0e0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    color: #999;
    position: relative;
    z-index: 1;
    transition: all 0.3s ease;
}

.checkout-progress li.active .checkout-step {
    border-color: var(--primary-color, #dc3545);
    color: var(--primary-color, #dc3545);
    background: white;
    box-shadow: 0 0 0 4px rgba(220, 53, 69, 0.1);
}

.checkout-progress li.completed .checkout-step {
    border-color: #28a745;
    background: #28a745;
    color: white;
}

.checkout-label {
    margin-top: 8px;
    font-size: 13px;
    color: #666;
    font-weight: 500;
}

.checkout-progress li.active .checkout-label {
    color: var(--primary-color, #dc3545);
    font-weight: 600;
}

.checkout-card {
    background: white;
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    margin-bottom: 24px;
    border: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.checkout-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 15px 50px rgba(0, 0, 0, 0.15);
}

.checkout-card-header {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 24px 30px;
    border: none;
}

.checkout-card-header h4 {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 12px;
}

.checkout-card-body {
    padding: 30px;
}

.form-group-modern {
    margin-bottom: 24px;
}

.form-group-modern label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: #333;
    margin-bottom: 8px;
    font-size: 14px;
}

.form-group-modern label i {
    color: var(--primary-color, #dc3545);
    font-size: 16px;
}

.form-control-modern {
    border: 2px solid #e0e0e0;
    border-radius: 10px;
    padding: 12px 16px;
    font-size: 15px;
    transition: all 0.3s ease;
    background: #fafafa;
}

.form-control-modern:focus {
    border-color: var(--primary-color, #dc3545);
    box-shadow: 0 0 0 4px rgba(220, 53, 69, 0.1);
    background: white;
    outline: none;
}

.form-control-modern:disabled {
    background: #f5f5f5;
    cursor: not-allowed;
}

textarea.form-control-modern {
    resize: vertical;
    min-height: 120px;
}

.order-summary-card {
    position: sticky;
    top: 20px;
}

.order-summary-header {
    background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
}

.order-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 0;
    border-bottom: 1px solid #f0f0f0;
}

.order-item:last-child {
    border-bottom: none;
}

.order-label {
    font-size: 15px;
    color: #666;
    font-weight: 500;
}

.order-value {
    font-size: 16px;
    font-weight: 600;
    color: #333;
}

.order-total {
    background: linear-gradient(135deg, #ffecd2 0%, #fcb69f 100%);
    padding: 20px;
    border-radius: 12px;
    margin-top: 20px;
}

.order-total .order-label {
    font-size: 18px;
    color: #333;
    font-weight: 600;
}

.order-total .order-value {
    font-size: 28px;
    font-weight: 700;
    color: var(--primary-color, #dc3545);
}

.payment-section {
    margin-top: 24px;
}

.payment-btn {
    width: 100%;
    padding: 16px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 16px;
    text-transform: none;
}

.payment-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

.payment-btn-stripe {
    background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
    color: white;
}

.payment-btn-stripe:hover {
    background: linear-gradient(135deg, #0e7c6e 0%, #2dd46b 100%);
}

.payment-btn-paypal {
    background: linear-gradient(135deg, #ffc439 0%, #ff7a00 100%);
    color: #003087;
}

.payment-btn-paypal:hover {
    background: linear-gradient(135deg, #ffaa00 0%, #ff6600 100%);
}

.payment-btn img {
    height: 24px;
}

.secure-payment-badge {
    text-align: center;
    margin-top: 20px;
}

.secure-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #f8f9fa;
    padding: 12px 20px;
    border-radius: 8px;
    font-size: 13px;
    color: #666;
}

.secure-badge i {
    color: #28a745;
    font-size: 18px;
}

.payment-cards-image {
    border-radius: 12px;
    overflow: hidden;
    margin-top: 20px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.payment-cards-image img {
    width: 100%;
    display: block;
}

.info-text {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #666;
    margin-top: 8px;
}

.info-text i {
    color: #6c757d;
}

/* Responsive Design */
@media (max-width: 768px) {
    .checkout-container {
        padding: 30px 0;
    }

    .checkout-progress {
        margin-bottom: 30px;
    }

    .checkout-label {
        font-size: 11px;
    }

    .checkout-step {
        width: 35px;
        height: 35px;
        font-size: 14px;
    }

    .checkout-card-header {
        padding: 20px;
    }

    .checkout-card-body {
        padding: 20px;
    }

    .order-summary-card {
        position: static;
        margin-top: 30px;
    }
}

/* Animation */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.checkout-card {
    animation: fadeInUp 0.6s ease-out;
}

.checkout-card:nth-child(2) {
    animation-delay: 0.1s;
}

/* Required field indicator */
.form-group-modern label.required::after {
    content: "*";
    color: var(--primary-color, #dc3545);
    margin-left: 4px;
}

/* Success states */
.form-control-modern.is-valid {
    border-color: #28a745;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 16px;
    padding-right: 40px;
}

/* Modern Product Page Styles */

:root {
    --primary-red: #dc3545;
    --dark-grey: #343a40;
    --light-grey: #f8f9fa;
    --border-color: #dee2e6;
    --success-color: #28a745;
    --shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    --shadow-hover: 0 4px 16px rgba(0, 0, 0, 0.15);
}

/* Hide any old/conflicting progress elements that might exist */
#msform #progressbar,
.msform #progressbar,
#progressbar,
ul#progressbar {
    display: none !important;
}

/* Product page specific overrides */
/* ===============================================
   PRODUCT PAGE - MOCKUP EXACT DESIGN
   =============================================== */

/* Product Sections - Flat & Clean */
.product-section {
    background: #fff;
    padding: 0;
    margin-bottom: 40px;
    border: none;
    border-radius: 0;
}

.section-heading {
    font-size: 16px;
    font-weight: 700;
    color: #333;
    margin-bottom: 20px;
    padding-bottom: 0;
    border-bottom: none;
    text-transform: none;
}

/* Form Elements - Mockup Style */
.form-group-clean {
    margin-bottom: 0;
}

.form-row-clean {
    margin-bottom: 25px;
}

.form-label-clean {
    font-size: 14px;
    font-weight: 600;
    color: #333;
    display: block;
    margin-bottom: 8px;
}

.form-input-clean {
    width: 100%;
    height: 40px;
    padding: 8px 12px;
    border: 1px solid #ccc;
    border-radius: 3px;
    font-size: 14px;
    color: #333;
    background: #fff;
    transition: border-color 0.2s;
}

.form-input-clean:focus {
    outline: none;
    border-color: #999;
}

textarea.form-input-clean {
    height: auto;
    min-height: 100px;
    resize: vertical;
}

select.form-input-clean {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 36px;
    cursor: pointer;
}

/* Size Options - Mockup Style */
.size-options-clean {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 15px;
}

.size-option {
    position: relative;
}

.size-option input[type="radio"] {
    position: absolute;
    opacity: 0;
}

.size-option span {
    display: inline-block;
    padding: 8px 18px;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 3px;
    font-size: 13px;
    font-weight: 600;
    color: #333;
    cursor: pointer;
    transition: all 0.15s;
}

.size-option:hover span {
    border-color: #999;
}

.size-option input[type="radio"]:checked + span,
.size-option.active span {
    background: #dc3545;
    border-color: #dc3545;
    color: #fff;
}

/* Quantity Controls - Mockup Style */
.quantity-controls {
    display: inline-flex;
    border: 1px solid #ccc;
    border-radius: 3px;
    overflow: hidden;
}

.qty-btn {
    width: 36px;
    height: 40px;
    border: none;
    background: #f8f8f8;
    color: #333;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
}

.qty-btn:hover {
    background: #e8e8e8;
}

.qty-btn:active {
    background: #ddd;
}

.qty-input {
    width: 60px;
    height: 40px;
    border: none;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    color: #333;
    background: #fff;
}

.qty-input:focus {
    outline: none;
}

/* Finishing Options - Mockup Flat Style */
.finishing-grid-clean {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 15px;
}

.finishing-option-clean {
    position: relative;
    cursor: pointer;
    margin: 0;
}

.finishing-option-clean input[type="radio"] {
    position: absolute;
    opacity: 0;
}

.finishing-inner {
    border: 1px solid #ddd;
    border-radius: 3px;
    overflow: hidden;
    background: #fff;
    transition: border-color 0.15s;
}

.finishing-option-clean:hover .finishing-inner {
    border-color: #999;
}

.finishing-option-clean input[type="radio"]:checked + .finishing-inner {
    border-color: #dc3545;
    border-width: 2px;
}

.finishing-image {
    width: 100%;
    height: 150px;
    overflow: hidden;
    background: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
}

.finishing-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.finishing-label {
    padding: 10px;
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    color: #333;
    background: #fff;
}

/* Upload Options - Mockup Flat Style */
.upload-options-clean {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.upload-option-clean {
    cursor: pointer;
    margin: 0;
    display: block;
}

.upload-option-clean input[type="radio"] {
    position: absolute;
    opacity: 0;
}

.upload-inner {
    padding: 15px 20px;
    border: 1px solid #ddd;
    border-radius: 3px;
    background: #fff;
    transition: border-color 0.15s;
}

.upload-option-clean:hover .upload-inner {
    border-color: #999;
}

.upload-option-clean input[type="radio"]:checked + .upload-inner {
    border-color: #dc3545;
    border-width: 2px;
    padding: 14px 19px; /* Adjust for thicker border */
}

.upload-text strong {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #333;
    margin-bottom: 4px;
}

.upload-text p {
    font-size: 13px;
    color: #666;
    margin: 0;
    line-height: 1.5;
}

/* File Upload Area - Mockup Style */
.upload-file-area {
    margin-top: 15px;
    padding: 30px;
    border: 2px dashed #ccc;
    border-radius: 3px;
    text-align: center;
    background: #fafafa;
    cursor: pointer;
    transition: border-color 0.15s;
    display: block;
}

.upload-file-area:hover {
    border-color: #999;
}

.upload-file-area i {
    display: block;
    font-size: 40px;
    color: #999;
    margin-bottom: 10px;
}

.upload-file-area span {
    display: block;
    font-size: 14px;
    color: #666;
    font-weight: 500;
}

/* Add to Cart Button - Mockup Style */
.add-to-cart-section {
    text-align: center;
    padding: 30px 0 20px;
}

.btn-add-to-cart {
    display: inline-block;
    padding: 12px 50px;
    background: #dc3545;
    color: #fff;
    border: none;
    border-radius: 3px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
    text-transform: none;
}

.btn-add-to-cart:hover {
    background: #c82333;
}

.btn-add-to-cart:active {
    background: #bd2130;
}

/* Order Summary - Mockup Flat Style */
.product-summary-modern {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 3px;
    overflow: hidden;
}

.product-summary-modern.sticky-active {
    position: sticky;
    top: 20px;
}

.bg-gradient-red {
    background: #dc3545 !important;
    color: #fff;
}

.summary-body {
    padding: 0;
}

.summary-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px;
    border-bottom: 1px solid #eee;
}

.summary-item:last-child {
    border-bottom: none;
}

.summary-label {
    font-size: 13px;
    font-weight: 500;
    color: #666;
}

.summary-value {
    font-size: 13px;
    font-weight: 600;
    color: #333;
    text-align: right;
}

.summary-price {
    background: #f9f9f9;
}

.summary-total {
    background: #fff9e6;
    padding: 15px 20px !important;
}

.price-value {
    font-size: 15px;
    color: #dc3545;
    font-weight: 700;
}

.price-value-total {
    font-size: 20px;
    color: #dc3545;
    font-weight: 700;
}

.delivery-info {
    padding: 12px;
    background: #e8f5e9;
    text-align: center;
    font-size: 13px;
    color: #2e7d32;
    font-weight: 600;
}

/* Utility Classes */
.link-text {
    color: #dc3545;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    transition: color 0.15s;
}

.link-text:hover {
    color: #c82333;
    text-decoration: underline;
}

.help-link {
    color: #999;
    margin-left: 6px;
    transition: color 0.15s;
}

.help-link:hover {
    color: #666;
}

/* Product Page Specific Styles - Won't affect other pages */
.product-page-wrapper .title-page {
    font-size: 24px;
    font-weight: 700;
    color: #333;
    margin-bottom: 25px;
}

.product-page-wrapper .product-breadcrumb {
    background: transparent;
    padding: 10px 0;
    margin-bottom: 15px;
}

.product-page-wrapper .product-breadcrumb .breadcrumb-item {
    font-size: 13px;
}

.product-page-wrapper .product-breadcrumb .breadcrumb-item a {
    color: #666;
    text-decoration: none;
}

.product-page-wrapper .product-breadcrumb .breadcrumb-item a:hover {
    color: #dc3545;
}

.product-page-wrapper .product-breadcrumb .breadcrumb-item.active {
    color: #999;
}

.product-page-wrapper .nav-tabs {
    border-bottom: 1px solid #ddd;
}

.product-page-wrapper .nav-tabs .nav-link {
    color: #666;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 600;
}

.product-page-wrapper .nav-tabs .nav-link:hover {
    color: #333;
    border-color: transparent;
}

.product-page-wrapper .nav-tabs .nav-link.active {
    color: #dc3545;
    background: transparent;
    border-color: transparent transparent #dc3545;
}

.product-page-wrapper .tab-content {
    padding: 20px 0;
}

.product-page-wrapper .gallery-wrap {
    margin-bottom: 20px;
}

.product-page-wrapper .gallery-wrap img {
    width: 100%;
    border: 1px solid #e0e0e0;
    border-radius: 3px;
}

.product-page-wrapper .slick-dots {
    bottom: 15px;
}

.product-page-wrapper .slick-dots li button:before {
    font-size: 10px;
    color: #999;
}

.product-page-wrapper .slick-dots li.slick-active button:before {
    color: #dc3545;
}

/* Ensure proper spacing in buying section */
.product-page-wrapper #buying-option {
    margin-bottom: 50px;
}

.product-page-wrapper #buying-option .row {
    align-items: flex-start;
}

/* Responsive Design */
@media (max-width: 991px) {
    .product-summary-modern {
        position: relative !important;
        top: auto !important;
        margin-bottom: 30px;
    }

    .product-section {
        margin-bottom: 35px;
    }

    .product-page-wrapper #buying-option .col-lg-5,
    .product-page-wrapper #buying-option .col-lg-7 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    .product-section {
        margin-bottom: 30px;
    }

    .section-heading {
        font-size: 15px;
        margin-bottom: 15px;
    }

    .product-page-wrapper .title-page {
        font-size: 20px;
        margin-bottom: 20px;
    .size-option span {
        padding: 7px 16px;
        font-size: 12px;
    }

    .quantity-controls {
        width: 100%;
    }

    .qty-btn {
        width: 40px;
    }

    .qty-input {
        flex: 1;
    }

    .btn-add-to-cart {
        width: 100%;
        padding: 12px 20px;
    }

    .form-input-clean {
        height: 38px;
        font-size: 13px;
    }
}

@media (max-width: 576px) {
    .section-heading {
        font-size: 14px;
        margin-bottom: 12px;
    }

    .finishing-grid-clean {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .finishing-image {
        height: 120px;
    }

    .upload-text strong {
        font-size: 13px;
    }

    .upload-text p {
        font-size: 12px;
    }

    .upload-inner {
        padding: 12px 16px;
    }

    .summary-item {
        padding: 10px 16px;
    }

    .price-value-total {
        font-size: 18px;
    }
}

@media (max-width: 576px) {
    .size-options-modern {
        justify-content: center;
    }

    .size-label {
        padding: 10px 16px;
        min-width: 50px;
        font-size: 14px;
    }

    .finishing-options-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .quantity-input-wrapper {
        max-width: 180px;
    }

    .qty-btn {
        width: 45px;
        height: 45px;
    }

    .qty-input {
        width: 90px;
        height: 45px;
        font-size: 16px;
    }
}

/* Animations */
@keyframes pulse {
    0%,
    100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
}

.btn-success {
    animation: pulse 2s infinite;
}

.btn-success:hover {
    animation: none;
    transform: translateY(-2px);
}

/* Utility Classes */
.hide {
    display: none !important;
}

.hideError {
    display: none;
}

.showError {
    display: block;
    color: var(--primary-red);
    margin-top: 5px;
    font-size: 14px;
}

/* Compatibility with existing styles */
.bg-red {
    background-color: var(--primary-red) !important;
}

.bg-dark-grey {
    background-color: var(--dark-grey) !important;
}

.bg-light-grey {
    background-color: var(--light-grey) !important;
}

.white {
    color: white !important;
}

.red {
    color: var(--primary-red) !important;
}

/* Similar Products Section */
.similar-products-section {
    margin-top: 60px;
    margin-bottom: 60px;
    padding-top: 40px;
    border-top: 1px solid var(--border-color);
}

/* Title Page */
.title-page {
    font-size: 2rem;
    font-weight: 700;
    color: var(--dark-grey);
    margin-bottom: 20px;
}
/* Search page css */
.search-header {
    background: linear-gradient(135deg, #dc3545 0%, #c82333 100%);
    padding: 60px 0 80px;
    position: relative;
    overflow: hidden;
}

.search-header::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320"><path fill="rgba(255,255,255,0.1)" d="M0,96L48,112C96,128,192,160,288,160C384,160,480,128,576,122.7C672,117,768,139,864,154.7C960,171,1056,181,1152,165.3C1248,149,1344,107,1392,85.3L1440,64L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z"></path></svg>')
        no-repeat bottom;
    background-size: cover;
    opacity: 0.5;
}

.search-header h1 {
    color: #fff;
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 15px;
    position: relative;
    z-index: 1;
}

.search-header .search-subtitle {
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.1rem;
    position: relative;
    z-index: 1;
}

.search-results-section {
    margin-top: -40px;
    padding: 40px 0 80px;
    background: #f8f9fa;
}

.search-results-info {
    background: #fff;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.08);
    margin-bottom: 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.results-count {
    font-size: 1.1rem;
    color: #495057;
}

.results-count strong {
    color: #dc3545;
    font-weight: 600;
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 30px;
    margin-bottom: 40px;
}

.product-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.product-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 30px rgba(220, 53, 69, 0.15);
}

.product-image-wrapper {
    position: relative;
    padding-top: 75%;
    background: #f8f9fa;
    overflow: hidden;
}

.product-image-wrapper img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.product-card:hover .product-image-wrapper img {
    transform: scale(1.08);
}

.product-badge {
    position: absolute;
    top: 15px;
    right: 15px;
    background: #dc3545;
    color: #fff;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 600;
    z-index: 2;
    text-transform: uppercase;
}

.product-card-body {
    padding: 25px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.product-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #212529;
    margin-bottom: 12px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.product-description {
    color: #6c757d;
    font-size: 0.95rem;
    line-height: 1.6;
    margin-bottom: 20px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex-grow: 1;
}

.product-card-footer {
    padding: 20px 25px;
    border-top: 1px solid #e9ecef;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.view-product-btn {
    display: inline-flex;
    align-items: center;
    padding: 10px 24px;
    background: #dc3545;
    color: #fff;
    border-radius: 25px;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
    transition: all 0.3s ease;
    width: 100%;
    justify-content: center;
}

.view-product-btn:hover {
    background: #c82333;
    color: #fff;
    text-decoration: none;
    transform: translateX(5px);
}

.view-product-btn i {
    margin-left: 8px;
    transition: transform 0.3s ease;
}

.view-product-btn:hover i {
    transform: translateX(5px);
}

.no-results {
    text-align: center;
    padding: 80px 20px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
}

.no-results i {
    font-size: 4rem;
    color: #dc3545;
    margin-bottom: 20px;
}

.no-results h3 {
    font-size: 1.75rem;
    color: #212529;
    margin-bottom: 15px;
}

.no-results p {
    color: #6c757d;
    font-size: 1.1rem;
}

.pagination-wrapper {
    display: flex;
    justify-content: center;
    margin-top: 40px;
}

/* Modern Pagination Styles */
.pagination-wrapper .pagination {
    display: inline-flex;
    background: #fff;
    border-radius: 50px;
    padding: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    gap: 5px;
}

.pagination-wrapper .pagination .page-item {
    list-style: none;
}

.pagination-wrapper .pagination .page-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 45px;
    height: 45px;
    padding: 0 15px;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: #6c757d;
    font-weight: 600;
    font-size: 0.95rem;
    text-decoration: none;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.pagination-wrapper .pagination .page-link::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #dc3545 0%, #c82333 100%);
    border-radius: 50%;
    transform: scale(0);
    transition: transform 0.3s ease;
    z-index: -1;
}

.pagination-wrapper .pagination .page-link:hover {
    color: #fff;
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(220, 53, 69, 0.3);
}

.pagination-wrapper .pagination .page-link:hover::before {
    transform: scale(1);
}

.pagination-wrapper .pagination .page-item.active .page-link {
    background: linear-gradient(135deg, #dc3545 0%, #c82333 100%);
    color: #fff;
    box-shadow: 0 5px 15px rgba(220, 53, 69, 0.4);
    transform: scale(1.1);
}

.pagination-wrapper .pagination .page-item.disabled .page-link {
    color: #dee2e6;
    cursor: not-allowed;
    opacity: 0.5;
}

.pagination-wrapper .pagination .page-item.disabled .page-link:hover {
    background: transparent;
    color: #dee2e6;
    transform: none;
    box-shadow: none;
}

.pagination-wrapper .pagination .page-item:first-child .page-link,
.pagination-wrapper .pagination .page-item:last-child .page-link {
    font-size: 1.1rem;
    font-weight: 700;
}

/* Ellipsis styling */
.pagination-wrapper .pagination .page-item .page-link[aria-label*="..."] {
    pointer-events: none;
    font-weight: 700;
    letter-spacing: 2px;
}

@media (max-width: 768px) {
    .product-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .search-header h1 {
        font-size: 2rem;
    }

    .search-results-info {
        flex-direction: column;
        gap: 15px;
    }

    .pagination-wrapper .pagination {
        padding: 5px;
        gap: 3px;
    }

    .pagination-wrapper .pagination .page-link {
        min-width: 38px;
        height: 38px;
        font-size: 0.85rem;
        padding: 0 10px;
    }
}}
