html, body{
    height: 100%;
}
section.content {
    background: #f4f4f4;
    -webkit-transition: 0s ease all;
    -o-transition: 0s ease all;
    -moz-transition: 0s ease all;
    transition: 0s ease all;
}
.container-fluid{
    margin: auto;
    max-width: 1500px;
    width: 100%;
}
.drag_indicator{
    cursor: move;
}

section{
    padding: 50px 10px;
}
.section_header{
    margin-bottom: 20px;
    text-align: center;
}
.section_header h3{
    display: inline-block;
    position: relative;
}
.section_header h3:before{
    content: '';
    display: block;
    margin: auto;
    height: 2px;
    width: 70%;
    background: var(--color-primary);
    transition: width .5s ease, background-color .5s ease;
}
.breadcrumb:before{
    font-family: 'Material Symbols Outlined';
}
.hook .section_header{
    margin-bottom: 5px;
}
.hook section{
    margin-bottom: 0;
    padding-bottom: 0;
}
.hook p{
    text-align: center;
    font-size: 1.6rem;
    margin: 0 auto;
    max-width: 1000px;
}

input:not([type]):focus:not([readonly])+label, input[type=text]:not(.browser-default):focus:not([readonly])+label, input[type=password]:not(.browser-default):focus:not([readonly])+label, input[type=email]:not(.browser-default):focus:not([readonly])+label, input[type=url]:not(.browser-default):focus:not([readonly])+label, input[type=time]:not(.browser-default):focus:not([readonly])+label, input[type=date]:not(.browser-default):focus:not([readonly])+label, input[type=datetime]:not(.browser-default):focus:not([readonly])+label, input[type=datetime-local]:not(.browser-default):focus:not([readonly])+label, input[type=tel]:not(.browser-default):focus:not([readonly])+label, input[type=number]:not(.browser-default):focus:not([readonly])+label, input[type=search]:not(.browser-default):focus:not([readonly])+label, textarea.materialize-textarea:focus:not([readonly])+label{
    color: #e30202;
}
.select-wrapper .caret{
    fill: #e30202;
}
.dropdown-content li>a, .dropdown-content li>span{
    color: #000000;
}
.select-wrapper input.select-dropdown:focus{
    border-bottom: 1px solid #e30202;
}

/* --- Navbar Overlay --- */
nav {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10;
  background: none;
  backdrop-filter: blur(4px);
  box-shadow: none;
  transition: background 0.35s ease, box-shadow 0.35s ease;
}
nav, nav .nav-wrapper i, nav a.sidenav-trigger, nav a.sidenav-trigger i{
  height: 74px;
  line-height: 74px;
}
nav ul li {line-height: 60px; margin-top: 10px;}
nav ul li.active { background: none;}
nav ul li.active a { box-shadow: inset 0 -3px 0 var(--uc-red); }
nav ul li a:hover { background: transparent; color: #ff3135;}

/* Applied when scrolled 200px+ */
nav.nav-scrolled {
    background: rgba(255, 255, 255, 0.6); /* translucent white */
    backdrop-filter: blur(8px); /* enhances clarity of logo/text */
    box-shadow: 0 4px 18px rgba(0,0,0,0.12);
}

/* Optional: darken text when nav turns white */
nav.nav-scrolled .nav-wrapper a {
    color: #000 !important;
}

nav.nav-scrolled ul li.active a {
    box-shadow: inset 0 -3px 0 var(--uc-red);
}

.brand-logo img {
  height: 56px;
  margin-top: 10px;
}

@media (max-width: 600px){
    section{
        padding: 20px 0;
    }
    .hook p{
        font-size: 1.4rem;
    }
}

/*----------------------------------------------------
    HOMEPAGE
------------------------------------------------------*/
/* --- Hero Section --- */
header {
  position: relative;
  height: 100vh;
  background: url('/images/banner_1.jpg') center/cover no-repeat;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  color: #fff;
  text-align: center;
}
header::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.6) 100%);
  z-index: 1;
}
header .hero-content {
  position: relative;
  z-index: 2;
}
header h3, header h5 { text-shadow: 1px 1px 6px rgba(0,0,0,0.7); }
header .btn-large {
  background: var(--uc-red);
  color: #fff;
}
header .btn-large:hover { background: var(--uc-red-dark); }

/* --- Stats Section --- */
.stats {
  background: var(--uc-gray-dark);
  color: var(--uc-gray-light);
  padding: 40px 0;
}
.stats i { font-size: 2.5rem; color: var(--uc-red); }
.stats h6 { margin-top: 10px; }

/* --- About Section --- */
.about-preview {
  background-color: #111;
  padding: 80px 0;
}
.about-preview .about-image {
  position: relative;
  overflow: hidden;
}
.about-preview .about-image img {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 12px;
  filter: brightness(0.9);
}
.about-preview h4 {
  color: var(--uc-red);
  position: relative;
  display: inline-block;
  margin-top: 0;
  margin-bottom: 30px;
}
.about-preview h4::after {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 60%;
  height: 3px;
  background: var(--uc-red);
  border-radius: 2px;
}
.about-preview p {
  line-height: 1.7;
  color: #e0e0e0;
}
.about-preview .btn {
  background-color: var(--uc-red);
  color: #fff;
  font-weight: 500;
  margin-top: 20px;
}
.about-preview .btn:hover {
  background-color: var(--uc-red-dark);
}

/* --- Rides Section --- */
.ride-card {
  border-radius: 12px;
  overflow: hidden;
}
.ride-card img { height: 300px; object-fit: cover;}
.card-title { background: rgba(0,0,0,0.6); padding: 5px; }
.card-action a { color: var(--uc-red); }
.card-action a:hover { color: var(--uc-red-dark); }
.ride-card .card-action a { color: var(--uc-red) !important; font-weight:600; }
.ride-card .card-action a:hover { color: var(--uc-red-dark) !important; }

/* --- Membership & RNPL Section (Responsive + Aligned) --- */
.membership-rnpl-section {
  background: linear-gradient(90deg, #0d0d0d, #000);
  padding: 80px 0;
  color: #fff;
}

.info-card {
  text-align: center;
  border-radius: 12px;
  padding: 40px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.3);
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.membership-side {
  background: linear-gradient(135deg, #fe2f2f 0%, #d62828 100%);
  color: #fff;
}

.rnpl-side {
  background: #111;
  border: 1px solid rgba(255,255,255,0.08);
}

.icon {
  color: #fff;
  opacity: 0.9;
  margin-bottom: 10px;
}

.info-card h4 {
  text-transform: uppercase;
  margin-bottom: 15px;
  font-weight: 600;
  letter-spacing: 0.5px;
}

.info-card p {
  line-height: 1.7;
  color: #f5f5f5;
}

.info-card ul {
  list-style-type: disc;
  margin: 10px 0 20px 25px;
  color: #fff;
}

.btn-uc {
  max-width: 200px;
  margin: 0 auto;
  background: #000;
  color: #fff;
  font-weight: 500;
  border: 1px solid #fff;
}

.btn-uc:hover {
  background: #fff;
  color: #000;
}

.btn-outline {
  max-width: 200px;
  margin: 0 auto;
  background: transparent;
  color: #fff;
  border: 1px solid #fff;
  font-weight: 500;
}

.btn-outline:hover {
  background: #fff;
  color: #000;
}

@media (max-width: 992px) {
  .info-card {
    margin-bottom: 30px;
    height: auto;
  }
}

@media (max-width:600px){
  header .hero-content{
    width: 96%;
  }
  header h3{
    font-size: 2rem;
  }
  header h5{
    font-size: 1.2rem;
  }
}
@media (max-width: 992px) {
  .about-preview .about-image {
    transform: none;
    margin-bottom: 30px;
  }
}
/* --- Gallery Section --- */
.gallery-strip h5 { color: var(--uc-red); }
.gallery-strip p img{vertical-align: middle;}
.gallery-strip a { color: var(--uc-gray-dark); font-weight: 400; font-size: 1.1rem;}
.gallery-strip a:hover { color: var(--uc-red-dark); }

/*----------------------------------------------------
    PRODUCT WIDGET
------------------------------------------------------*/
.product_widget .card{
    box-shadow: none;
    margin: 0;
    transition: all 0.3s;
}
.product_widget .card.card_white{
    border-radius: 10px;
    padding: 5px;
}
.product_widget .card .card-image{
    background-color: #f4f4f4;
    border-radius: 8px;
    display: block;
}
.product_widget .card .card-image img{
    border-radius: 8px;
}
.product_widget .card .image_wrapper{
    position: relative;
    overflow: hidden;
}
.product_widget .card .btn_favourite{
    background-color: rgba(255, 255, 255, 0.65);
    color: var(--color-primary);
    border: none;
    border-radius: 50px;
    box-shadow: none;
    height: 35px;
    width: 35px;
    padding: 0;
    position: absolute;
    top: 5px;
    right: -50px;
    -webkit-transition: .3s ease all;
    -o-transition: .3s ease all;
    -moz-transition: .3s ease all;
    transition: .3s ease all;
}
.product_widget .card .truncate{
    padding: 5px 0;
}
.product_widget .card .btn_favourite i{
    font-size: 1.35rem;
    line-height: 35px;
    vertical-align: middle;
}
.product_widget .card .btn_favourite.filled{
    color: #f44336;
    right: 5px;
}
.product_widget .card:hover{
    /*padding: 3px;*/
    /*box-shadow: #aaaaaa 0 0 15px;*/
    border-radius: 10px;
    transition: all 0.3s;
}
.product_widget .card:hover .btn_favourite{
    right: 5px;
}
.product_widget .card .card-action{
    padding: 5px 0 5px 0;
    border: none;
    position: relative;
    transition: all 0.3s;
}
.product_widget .card:hover .card-action{
    padding: 5px;
    transition: all 0.3s;
}
.product_widget .card .card-action a{
    color: black !important;
    font-size: 1rem;
}
.product_widget .card .product_price{
    display: flex;
    justify-content: space-between;
}
.product_widget .card .product_price .price{
    font-size: 1.25rem;
    font-weight: 500;
}
.product_widget .card .product_price del{
    color: #888888;
    margin-left: 3px;
}
.product_widget .card .discount_percent{
    color: #388E3C;
    font-weight: 600;
}
.product_widget .widget_buttons{
    display: flex;
    height: 40px;
    overflow: hidden;
    justify-content: space-between;
    margin-top: 15px;
    position: absolute;
    z-index: 2;
    top: 20px;
    left: 0;
    width: 100%;
    text-align: center;
}
.product_widget .card-action .product-benefits{
    display: none;
    position: relative;
    z-index: 1;
    width: 100%;
    /*border: #f00 solid 1px;*/
}
.product_widget .card-action .product-benefits ul{
    margin-left: 20px;
    margin-top: 5px;
    margin-bottom: 5px;
}
.product_widget .card-action .product-benefits ul li{
    list-style-type: disc;
    padding-left: 0;
    padding: 0;
    margin: 0;
}
.product_widget .widget_buttons .btn_cart,
body.product_description .action_buttons .btn_cart{
    background-color: #735946;
    color: #ffffff;
    border: 1px solid #735946;
    box-shadow: none;
    position: absolute;
    z-index: 2;
    left: -200px;
    -webkit-transition: .3s ease all;
    -o-transition: .3s ease all;
    -moz-transition: .3s ease all;
    transition: .3s ease all;
}
.product_widget .widget_buttons .btn_cart{
    position: relative;
}
body.product_description .action_buttons .btn_cart:hover,
body.product_description .action_buttons .btn_favourite:hover{
    border: 1px solid var(--color-primary);
}
body.product_description .action_buttons .btn_cart{
    font-size: 1.1rem;
    position: inherit;
    margin-right: 10px;
}
.product_widget .widget_buttons .btn_cart:before,
body.product_description .action_buttons .btn_cart:before{
    content: "shopping_bag";
    font-family: "Material Symbols Outlined";
    font-size: 1.25rem;
    float: left;
    margin-right: 5px;
}
.product_widget .widget_buttons .btn_cart:after,
body.product_description .action_buttons .btn_cart:after{
    content: "Add to Bag";
}
.product_widget .widget_buttons .btn_cart.added:before,
body.product_description .action_buttons .btn_cart.added:before{
    content: "close";
    font-family: "Material Symbols Outlined";
    font-size: 1.25rem;
    float: left;
    margin-right: 5px;
}
.product_widget .widget_buttons .btn_cart.added:after,
body.product_description .action_buttons .btn_cart.added:after{
    content: "Remove";
}
body.product_description .action_buttons .btn_cart.update:after{
    content: "Update";
}
.product_widget .card:hover .btn_cart{
    left: 25%;
}
body.product_description ul.collapsible{
    margin-top: 15px;
    border-radius: 15px;
    padding: 15px 15px 15px 0;
    /*background-color: #fbf7f4;*/
    box-shadow: none;
    border: none;
}
body.product_description ul.collapsible .collapsible-header,
body.product_description ul.collapsible .collapsible-body{
    /*background-color: #fbf7f4;*/
    padding: 0.75rem;
    position: relative;
}
body.product_description ul.collapsible .collapsible-body{
    padding: 1rem;
    padding-top: 0.25rem;
    border-bottom: none;
}
body.product_description ul.collapsible .collapsible-header::after{
    position: absolute;
    right: 0;
    color: #aaaaaa;
    content: "keyboard_arrow_down";
    font-family: 'Material Symbols Outlined';
    transition: transform 0.3s ease;
}
body.product_description ul.collapsible li.active .collapsible-header::after{
    transform: rotate(180deg); /* Rotate the pseudo-element */
    transition: transform 0.3s ease;
}
body.product_description ul.collapsible .collapsible-header{
    font-size: 1.1rem;
    font-weight: 600;
}
body.product_description ul.collapsible .collapsible-body{
    color: #000000;
}
body.product_description ul.collapsible .collapsible-body ul{
    padding-left: 25px;
}
body.product_description ul.collapsible .collapsible-body ul li{
    list-style-type: circle;
    padding-left: 10px;
}
body.product_description .variants li{
    display: inline-block;
    max-width: 100px;
    margin-bottom: 2px;
}
body.product_description .variants li a{
    display: block;
    text-align: center;
    padding: 5px 10px;
    border: #dddddd solid 1px;
    color: #60432d;
    text-transform: uppercase;
}
body.product_description .variants li a.active{
    background-color: #60432d;
    border-color: #60432d;
    color: #ffffff;
}
body.product_description .combo-products .combo-label{
    font-weight: 600;
}
body.product_description .combo-products li,
body.product_description .combo-products li a{
    color: #000000;
    font-weight: 400;
}
body.product_description .combo-products li{
    list-style-type: disc;
    margin-left: 15px;
}
body.product_description .combo-products li span{
    color: #666666;
    font-weight: 200;
}
body.product_description .combo-products ul{
    margin: 0;
    margin-bottom: 20px;
}
body.product_description ul.collapsible .collapsible-body.combo>ul{
    margin-top: 15px;
}
body.product_description ul.collapsible .collapsible-body.combo>ul>li{
    list-style-type: none;
    margin-top: 0;
    margin-bottom: 15px;
    padding-left: 0;
}
body.product_description ul.collapsible .collapsible-body.combo>ul>li h4{
    font-size: 1.1rem;
    margin-bottom: 5px;
}
@media (max-width: 1200px)
{
    .product_widget .card .btn_favourite{
        right: 5px;
        -webkit-transition: .3s ease all;
        -o-transition: .3s ease all;
        -moz-transition: .3s ease all;
        transition: .3s ease all;
    }
    .product_widget .widget_buttons{
        position: relative;
    }
    .product_widget .card-action .product-benefits ul{
        margin-bottom: 20px;
    }
    .product_widget .card .btn_cart{
        left: 0;
        height: 36px;
        line-height: 36px;
    }
}

@media (max-width: 600px)
{
    .grid-container.col-250 {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    }
    .grid-container.gap-20 {
        grid-gap: 15px;
    }
    .product_widget .card .btn_favourite i{
        line-height: 34px;
    }
    body.product_description .variants li{
        max-width: 100%;
        width: 80px;
    }
    .product_widget .widget_buttons{
        top: -5px;
    }
    .product_widget .card:hover .btn_cart{
        left: 0;
    }
}

/*----------------------------------------------------
    FOOTER
------------------------------------------------------*/
/* --- Footer --- */
footer {
  background-color: #000 !important;
  border-top: 2px solid var(--uc-red);
  padding: 15px 0;
}
footer p { color: #ccc; margin: 0; }
/*----------------------------------------------------
    LOGIN
------------------------------------------------------*/
.login {
    background: var(--color-primary);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 20px;
}
.login .card{
    padding: 20px;
    min-height: 400px;
    max-width: 400px;
    border-radius: 20px;
    width: 100%;
}
.login .default_header{
    margin-bottom: 20px;
    text-align: center;
}
.login .card .default_header h4{
    color: #000;
    font-weight: 400;
}
.login .card .default_header .profile-image-login{
    margin-bottom: 10px;
    max-width: 150px;
    width: 100%;
}
.login-form .form-group h4 span {
    background: #fff;
    border: 1px solid #dadada;
    border-radius: 50px;
    padding: 5px 10px 8px;
}
.login-form p.title{
    color: #484848;
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 40px;
}
.login-form .form-group input.mobile, .login-form .form-group .input-group-text{
    font-size: 1.2rem;
    height: 3.5rem;
}
.login-form .form-group .edit_number{
    color: #666;
    display: block;
    font-size: 1.2rem;
    font-weight: 600;
    position: relative;
}
.login-form .form-group .edit_number a.link{
    font-size: 0.85rem;
    position: absolute;
    right: 0;
    top: 5px;
}
.login .card figure,
.otp_group figure{
    display: inline;
    line-height: normal;
    margin: 0;
}

.otp_container {
  display: flex;
  justify-content: center;
  align-items: center;
}

.otp_input {
  width: auto;
  height: 40px;
  font-size: 1.5rem !important;
  margin: 0 5px !important;
  text-align: center;
}

.otp_input:focus {
  outline: none;
  border-color: #007bff;
}


.login-form .resend_otp .resend_link{
    display: inline-block;
    float: right;    
}


.login-form .rounded{
    border-radius: 50px;
}
.login-form .loader{
    text-align: center;
}


.login-form .forgot-password-btn{
    position: absolute;
    right: 10px;
    top: 15px;
}


@media (min-width: 800px){
    #login-page .card{
        min-width: 400px;
    }
}

/*----------------------------------------------------
    CATEGORY PAGE
------------------------------------------------------*/
body.category h1,
body.category h2{
    font-size: 2rem;
}
body.category h3{
    font-size: 1.25rem;
}
body.category .categories_wrapper{
    background-color: #f9ebe0;
}
.categories_wrapper .category_widget{
    background-color: white;
    border-radius: 15px;
    padding: 10px;
    text-align: center;
}
.categories_wrapper .category_widget h5{
    margin: 0;
}
body.category pre{
    font-family: 'Crimson Pro', sans-serif;
    line-height: 1.2rem;
    white-space: pre-wrap;
}

/*----------------------------------------------------
    PRODUCT DESCRIPTION PAGE
------------------------------------------------------*/
nav.page-crumb, nav.page-crumb .nav-wrapper {
    background-color: transparent;
    box-shadow: none;
    height: 18px;
    line-height: 18px;
}
nav.page-crumb .nav-wrapper .row .col {
    padding: 0 !important;
}
nav.page-crumb .breadcrumb{
    color: #686666;
    font-size: 0.9rem;
}
nav.page-crumb .breadcrumb i{
    font-size: 1.2rem;
    height: auto;
    line-height:1;
}
nav.page-crumb .breadcrumb:before {
    color: #686666;
    font-size: 14px;
    line-height: 23px;
    margin: 0;
}
nav.page-crumb .breadcrumb:last-child{
    cursor: auto;
}

body.product_description .carousel_wrapper .main_image img{
    max-width: 850px;
    width: 100%;
}
body.product_description .carousel_wrapper img{
    border-radius: 15px;
}
body.product_description .carousel_wrapper .slides{
    display: flex;
    overflow: auto;
}
body.product_description .carousel_wrapper .slides img{
    border-radius: 10px;
    margin-right: 10px;
    width: 80px;
}
body.product_description h1{
    font-size: 2rem;
    margin-bottom: 0.65rem;
}

body.product_description h2{
    font-size: 1.4rem;
    font-weight: 400;
    margin-bottom: 0.65rem;
}

/*body.product_description .product_price{
    margin: 15px 0;
}*/
body.product_description .product_price .price{
    font-size: 1.5rem;
    font-weight: 500;
}
body.product_description .product_price .discount_percent{
    color: #4CAF50;
    font-weight: 600;
    margin-left: 10px;    
}

body.product_description .action_buttons{
    margin: 20px 0;
}
body.product_description .action_buttons .btn_favourite{
    background-color: #ffffff;
    color: var(--color-primary);
    border: 1px solid #d3baa8;
    box-shadow: none;
}
body.product_description .action_buttons .btn_favourite i{
    font-size: 1.35rem;
    line-height: 35px;
    vertical-align: middle;
}
body.product_description .action_buttons .btn_favourite.filled{
    color: #f44336;
    right: 5px;
}
body.product_description .quantity-input,
body.cart .quantity-input {
  display: flex;
  align-items: center;
  margin-top: 20px;
  width: 150px;
}

body.product_description .quantity-btn,
body.cart .quantity-btn {
  padding: 5px 10px;
  font-size: 16px;
  cursor: pointer;
  border: none;
  background-color: #f0f0f0;
  color: #333;
}

body.product_description .quantity,
body.cart .quantity {
    border: none;
    font-size: 1.2rem;
    height: 28px;
    margin: 0;
    text-align: center;
    width: 50px;
}
body.product_description .quantity:focus,
body.cart .quantity:focus{
    border: none !important;
    box-shadow: none !important;
}
body.product_description .description{
    color: #555;
    font-size: 1.1rem;
}
body.product_description .description h5{
    margin-bottom: 5px;
}
body.product_description .description ol{
    margin: 0;
    padding-left: 15px;
    margin-bottom: 20px;
}
body.product_description .related_products{
    background-color: #f9ebe0;
}

@media (max-width: 600px){
    body.product_description h1{
        margin-top: 1rem;
        font-size: 1.6rem;
    }
    body.product_description h2{
        font-size: 1.2rem;
    }
    body.product_description .product_price{
        margin: 5px 0;
    }
}

/*----------------------------------------------------
    CART PAGE
------------------------------------------------------*/
.cart .empty_cart,
.wishlist .empty_cart{
    padding: 50px 0;
    text-align: center;
}
.cart .empty_cart .empty_bag{
    margin-bottom: 20px;
    width: 120px;
}
.cart_details_wrapper .cart_widget,
.cart_details_wrapper .wishlist_product{
    color: #333;
    display: flex;
    margin-bottom: 20px;
}
.cart_details_wrapper p, 
.checkout-page-wrapper p {
    line-height: 24px;
}
.cart_details_wrapper .cart_items{
    border-right: 1px solid #ddd;
    min-height: 450px;
}
.cart_details_wrapper .cart_widget .product-pic,
.wishlist_product .product-pic{
    margin-right: 20px;
    position: relative;
}
.cart_details_wrapper .cart_widget .product-pic img{
    border-radius: 15px;
    width: 120px;
}
.cart_details_wrapper .cart_widget .product-pic a{
    display: block;
}
.wishlist_product img{
    width: 120px;
}
.cart_details_wrapper .cart_widget .product_name{
    color: #333;
    display: block;
}
.cart_details_wrapper .cart_widget .price{
    font-weight: 600;
    margin-right: 5px;
}
.cart_details_wrapper .cart_widget .discount{
    color: #388E3C;
    font-weight: 600;
}
body.cart .quantity-input{
    margin-top: 10px;
}
.cart_details_wrapper .cart_widget .cart_actions{
    display: flex;
    justify-content: space-between;
}
.cart_details_wrapper .cart_widget .cart_actions a{
    color: #888;
}
.order_summary table tr td{
    border: none;
    padding-left: 0;    
}
.order_summary table tr{
    border: none;
}
.order_summary table tr.you_pay_row{
    border-bottom: 1px solid #ddd;
    border-top: 1px solid #ddd;
    color: #49392B;
    font-size: 20px;
    font-weight: 600;
}
.order_summary .price_details{
    max-width: 300px;
}
.order_summary .price_details table td{
    color: #333;
}
.order_summary .price_details .add-more-worth{
    color: #E91E63;
}

@media (max-width: 1000px){
    .cart_details_wrapper .cart_items {
        border-right: none;
        min-height: 0;
    }
}
@media (max-width: 600px){
    .order_summary .price_details{
        max-width: 100%;
    }
}

/*----------------------------------------------------
    CHECKOUT PAGE
------------------------------------------------------*/
body.checkout .collapsible,
body.my_profile .collapsible{
    box-shadow: none;
    margin: 0;
}
body.checkout .collapsible .collapsible-header{
    font-weight: 600;
}
body.checkout .collapsible .collapsible-body{
    padding: 1rem 1.5rem;
}
.collapsible .delivery_addresses li{
    color: #333;
    margin-bottom: 25px;
    position: relative;
}
.collapsible .delivery_addresses li:last-child{
    margin-bottom: 0px;
}
.collapsible li .address_type{
    color: #FF9800;
}
.collapsible li .action_buttons{
    margin-top: 10px;
    position: relative;
}
.collapsible li .edit_btn{
    position: absolute;
    right: 0;
    top: 0;
}
body.checkout .collapsible .collapsible-body .payment_options label{
    display: block;
    padding: 10px 0;
}
body.checkout .collapsible .collapsible-body .payment_options span.name{
    font-size: 1.1rem;
    font-weight: 600;
    color: black;
}
body.checkout .collapsible .collapsible-body .payment_options span>span.desc{
    display: block;
    font-size: 0.9rem;
    font-weight: 400;
    color: #666;
}

/*----------------------------------------------------
    ORDER CONFIRMATION PAGE
------------------------------------------------------*/
body.order_confirmation section{
    padding-top: 0;
}
body.order_confirmation .animation{
    position: relative;
    text-align: center;
}
body.order_confirmation .animation h3{
    position: absolute;
    bottom: 0;
    text-align: center;
    width: 100%;
}
body.order_confirmation .saved{
    color: #388E3C;
    font-size: 1.2rem;
    font-weight: 600;
    margin: 20px 0;
    text-align: center;
}

/*----------------------------------------------------
    MY ORDERS
------------------------------------------------------*/
body.orders .orders_list a{
    display: flex;
}
body.orders .orders_list .product_pic{
    margin-right: 20px;
}
body.orders .orders_list .product_pic img{
    border-radius: 10px;
    width: 70px;
}
body.orders .orders_list .order_item {
    color: #444;
    margin-right: 20px;
}
body.orders .orders_list .order_status {
    font-weight: 600;
}
body.orders .orders_list .order_status.processing {
    color: #db870c;
}
body.orders .orders_list .order_status.shipped {
    color: #0275d8;
}
body.orders .orders_list .order_status.delivered {
    color: #4caf50;
}
body.orders .orders_list .order_status.cancelled {
    color: #ff5722;
}
body.orders .orders_list a.load-more{
    display: block;
    font-size: 1.2rem;
}

.tabs_wrapper{
    position: relative;
}
.tabs_wrapper.stick{
    position: fixed;
    top: 100px;
}
ul.my_account_tabs{
    background-color: #FFFCFA;
    border-left: 1px solid #ffedc5;
    margin: 0;
    padding: 10px;
    width: 300px;
}
ul.my_account_tabs li a{
    color: #777;
    display: block;
    padding: 10px 0;
}
ul.my_account_tabs li:first-child a{
    padding-top: 0;
}
ul.my_account_tabs li.active a,
ul.my_account_tabs li a:hover,
ul.my_account_tabs li.active a i{
    color: var(--color-primary);
    font-weight: 600;
}
ul.my_account_tabs li.active a i{
    font-weight: 400;
}
ul.my_account_tabs li a i{
    color: #999;
}

/*----------------------------------------------------
    ORDER DETAILS PAGE
------------------------------------------------------*/
.order_details{
    background-color: #f4f4f4;
}
.order_details .card-panel{
    box-shadow: none;
    margin-bottom: 0;
}
.order_details .row{
    margin-bottom: 0;
}
.order_details .order_progress{
    min-height: 325px;
    position: relative;
}
.order_details .action_buttons{
    display: flex;
    margin: 0;
}
.order_details .action_buttons li a{
    display: block;
    margin-left: 30px;
}
.order_details .order_progress .tracking_details{
    position: absolute;
    left: 50%;
    top: 15px;
}
.order_details .order_progress .tracking_details dt{
    color: grey;
}
.order_details .order_progress .tracking_details dd{
    color: black;
    margin-left: 0;
    margin-bottom: 20px;
}

.order_details .product_list .product{
    display: flex;
    margin-bottom: 10px;
}
.order_details .product_list .product_pic{
    margin-right: 20px;
}
.order_details .product_list .product_pic img{
    border-radius: 10px;
    width: 70px;
}
.order_details .product_list .order_item {
    color: #444;
    margin-right: 20px;
}
.order_details .order_summary{
    min-height: 325px;
}
.order_details .order_summary label{
    font-size: 1rem;
    min-width: 120px;
    display: inline-block;
}
.order_details .order_summary span{
    min-width: 80px;
    display: inline-block;
    text-align: left;
}

@media (max-width: 992px){
    .order_details .order_progress .tracking_details{
        position: static;
        right: auto;
        top: auto;
    }
}
/*----------------------------------------------------
    VERTICAL TIMELINE FOR ORDER STATUS
------------------------------------------------------*/
.step_progress_wrapper.vertical {
    padding-left: 20px;
    width: 350px;
}
.step_progress_wrapper.vertical ul.step_progress {
    color: #777;
    position: relative;
    padding-left: 45px;
    list-style: none;
    margin-bottom: 40px;
}
.step_progress_wrapper.vertical .step_progress::before {
  display: inline-block;
  content: '';
  position: absolute;
  top: 1px;
  left: 18px;
  width: 10px;
  height: 100%;
  border-left: 3px solid #CCC;
}
.step_progress_wrapper.vertical .step_progress_item {
    min-height: 60px;
    position: relative;
}
.step_progress_wrapper.vertical .step_progress_item:last-child {
    min-height: 0px;
}
.step_progress_wrapper.vertical .step_progress_item label{
    font-size: 1rem;
    display: block;
    position: absolute;
}
.step_progress_wrapper.vertical .step_progress_item:not(:last-child) {
    padding-bottom: 50px;
}
.step_progress_wrapper.vertical .step_progress_item::before {
  display: inline-block;
  content: '';
  position: absolute;
  top: 1px;
  left: -27px;
  height: 100%;
  width: 10px;
}
.step_progress_wrapper.vertical .step_progress_item::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 0;
  left: -41px;
  width: 30px;
  height: 30px;
  border: 2px solid #CCC;
  border-radius: 50%;
  background-color: #FFF;
}
.step_progress_wrapper.vertical .step_progress_item.completed{
    color: #000;    
}
.step_progress_wrapper.vertical .step_progress_item.completed::before {
    border-left: 3px solid green;
}
.step_progress_wrapper.vertical .step_progress_item.completed::after {
  content: "check";
  font-family: 'Material Symbols Outlined';
  font-size: 22px;
  color: #FFF;
  text-align: center;
  border: 2px solid green;
  background-color: green;
  line-height: 25px;
}
.step_progress_wrapper.vertical .step_progress_item.completed.cancelled::after{
    background-color: #f14656;
    border: 2px solid #f14656;
}
.step_progress_wrapper.vertical .step_progress_item.completed.returned::after{
    background-color: #efb104;
    border: 2px solid #efb104;
}
.step_progress_wrapper.vertical .step_progress_item.completed.returned::before {
    border-left: 3px solid #efb104;
}

/*----------------------------------------------------
    HORIZONTAL TIMELINE FOR ORDER STATUS
------------------------------------------------------*/
.step_progress_wrapper.horizontal {
    
}
.step_progress_wrapper.horizontal ul.step_progress {
    color: #777;
    list-style: none;
    position: relative;
    padding: 20px 0px 0px 0px;
    display: inline-block;
    margin-bottom: 0;
}
.step_progress_wrapper.horizontal ul.step_progress::before {
    background-color: #ccc;
    position: absolute;
    content: " ";
    height: 2px;
    top: auto;
    bottom: 32px;
    left: 66px;
    right: 0;
    width: 100%;
    margin-bottom: 20px;
}
.step_progress_wrapper.horizontal .step_progress_item {
    display: table-cell;
    min-width: 180px;
    float: none !important;
    padding-left: 0px;
    padding-right: 20px;
    position: relative;
    line-height: normal;
    margin: 0 auto;
    text-align: center;
}
.step_progress_wrapper.horizontal .step_progress_item label{
    font-size: 1rem;
    margin-top: 20px;
    display: block;
    height: 34px;
}
.step_progress_wrapper.horizontal .step_progress_item.completed::before {
    border-bottom: 3px solid green;
    content: '';
    position: absolute;
    top: 0px;
    left: 77px;
    width: 100%;
}

.step_progress_wrapper.horizontal .step_progress_item:last-child::before {
    border-bottom: 4px solid white;
    content: '';
    position: absolute;
    top: 0px;
    left: 77px;
    width: 100%;
}

.step_progress_wrapper.horizontal .step_progress_item::after{
    content: '';
    display: inline-block;
    position: absolute;
    bottom: 38px;
    left: 66px;
    width: 30px;
    height: 30px;
    border: 2px solid #CCC;
    border-radius: 50%;
    background-color: #FFF;
}
.step_progress_wrapper.horizontal .step_progress_item.completed::after {
  content: "check";
  font-family: 'Material Symbols Outlined';
  font-size: 22px;
  color: #FFF;
  text-align: center;
  border: 2px solid green;
  background-color: green;
  line-height: 27px;
}
.step_progress_wrapper.horizontal .step_progress_item.completed{
    color: #000;    
}
.search-products-modal .chip{
    color: #000000;
    font-size: 0.95rem;
    text-transform: lowercase;
}
.modal.youtube{
    box-shadow: none;
    max-width: 800px;
    margin-top: 5%;
}
.about .team .profileImg{
    width: 250px;
    height: 250px;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 125px;
    float: left;
    background-size: cover;
    margin-right: 30px;
}
.about .intro p{
    font-size: 1.3rem;
}
.about .intro h1{
    text-align: center;
    max-width: 1000px;
    margin: 0 auto;
    margin-bottom: 30px;
}
.about .team h2, .about .team h3{
    font-size: 1.6rem;
    text-decoration: underline;
}
.about .team h3{
    font-size: 1.4rem;
    text-decoration: underline;
}
.about .team p{
    font-size: 1.2rem;
}
@media (max-width:500px){
    .about .team .profileImg{
        float: none;
        margin: 0 auto;
        margin-bottom: 30px;
    }
    .about .team h2{
        text-align: center;
    }
}
.fixed-action-btn a.btn-floating{
    background-color: #60432d;
    border: #dddddd solid 1px;
    box-shadow: #000000 0 0 10px;
}
.ask-expert-modal .write-up{
    font-size: 1.3rem;
}
/**************************************************************************
 * CSS for Blog pages
**************************************************************************/
.blog-home main{
    max-width: 1000px;
    margin: auto;
}
.blog-home section{
    padding: 30px 10px;
}
.blog-home .page-crumb{
    margin-top: 15px;
}
.blog-home .banner{
    background-image:url('/images/blog-cover.jpg');
    height: 300px;
    background-size: cover;
    background-position: center;
    margin-bottom: 30px;
    position: relative;
    text-align: center;
    max-width: 800px;
}
.blog-home .banner h1{
    text-align: center;
    padding-top: 12%;
    color: #fff;
    text-shadow: #111 1px 1px 1px;
}
.blog-home .post-heading{
    font-size: 2.2rem;
    text-align: center;
}
.blog-home span.post-date{
    font-size: 1rem;
    color: #666;
    text-align: center;
}
.blog-home .post-category{
    font-size: 1rem;
    margin-left: 15px;
    padding: 2px 10px;
    display: inline-block;
    border-radius: 5px;
    border: #ddd solid 1px;
}
.blog-home .post-category:hover{
    background-color: #eee;
}
.blog-home .intro h1{
    font-size: 3rem;
}
.blog-home .intro h2{
    font-size: 1.6rem;
}
.blog-home .card{
    display: block;
    box-shadow: none;
    border: #ddd solid 1px;
    padding: 10px;
    margin: 0 0 15px 0;
    border-radius: 5px;
}
.blog-home .card:hover{
    box-shadow: #ccc 1px 1px 5px;
}
.blog-home .card div{
    height: 160px;
    background-size: cover;
    background-position: center;
    box-shadow: none;
    margin-bottom: 10px;
    position: relative;
}
.blog-home .card h3{
    color: #212529;
    font-size: 1.4rem;
    letter-spacing: 0.04rem;
    line-height: 1.2;
    min-height: 55px;
}
.blog-home .card p{
    font-size: 1rem;
    color: #666666;
}
.blog-home .card span.date{
    font-size: 0.9rem;
    color: #888;
}
.blog-home .card div span.category{
    position: absolute;
    left: 10px;
    top: 10px;
    background: rgba(0, 0, 0, 0.5);
    color: #eee;
    padding: 2px 8px;
    font-size: 0.85rem;
    text-transform: uppercase;
    border-top-left-radius: 5px;
    border-bottom-right-radius: 5px;
}
.blog-home .blog_pagination{
    text-align: center;
    margin-bottom: 30px;
}
.blog-home .blog_pagination a{
    display: inline-block;
    padding: 5px 10px;
    border: #ddd solid 1px;
    border-radius: 5px;
    color: #333;
}
.blog-home .blog_pagination a.disable-url{
    background-color: #ddd;
    cursor: not-allowed;
}
.blog-home .blog_pagination a:hover, .blog-home .blog_pagination a:focus{
    background-color: #eee;
    border-color: #eee;
    color: #111;
}
.blog-home .blog-categories li{
    padding: 5px 0;
}
.blog-home .blog-categories li a{
    color: #777;
}
.blog-home .blog-categories li a:hover{
    color: #222;
}
@media (max-width: 1366px){
    .blog-home .intro h1{
        font-size: 2.4rem;
    }
    .blog-home .intro h2{
        font-size: 1.4rem;
    }
}
@media (max-width: 500px){
    .blog-home .banner{
        height: 140px;
    }
    .blog-home .banner h1{
        font-size: 35px;
        padding-top: 20%;
    }
    .blog-home .intro h1{
        font-size: 1.4rem;
    }
    .blog-home .intro h2{
        font-size: 1rem;
    }
}
@keyframes bounce {
  0%, 100% {
    transform: translateY(0); /* Start and end position */
  }
  20% {
    transform: translateY(-5px); /* Peak of the bounce */
  }
}

/* RIDE CARDS */
.ride-grid{
  margin-top:30px;
}
.ride-card{
  background:var(--uc-gray-dark);
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(0,0,0,0.65);
  display:flex;
  flex-direction:column;
  height:100%;
  margin-bottom: 30px;
}
.ride-card-image{
  height:220px;
  background-size:cover;
  background-position:center;
  position:relative;
}
.ride-card-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(0,0,0,0.65),rgba(0,0,0,0.1));
}
.ride-tag-type{
  position:absolute;
  left:12px;
  bottom:12px;
  z-index:2;
  padding:6px 12px;
  border-radius:20px;
  background:rgba(0,0,0,0.7);
  color:var(--uc-red);
  font-size:12px;
  font-family:'Montserrat',sans-serif;
  text-transform:uppercase;
  letter-spacing:0.5px;
}
.ride-card-body{
  padding:16px 18px 18px;
  display:flex;
  flex-direction:column;
  flex:1;
}
.ride-title{
  font-family:'Montserrat',sans-serif;
  font-weight:600;
  font-size:18px;
  margin:0 0 4px;
  color:#fff;
  height: 44px;
  overflow: hidden;
}
.ride-sub{
  font-size:13px;
  color:#bbb;
  margin-bottom:10px;
}
.ride-meta-line {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:12px;
}

.meta-pill {
    padding:4px 0;
    margin-right: 10px;
    font-size:0.8rem;
    font-weight:400;
    color:#e5e5e5;
    font-family:'Montserrat', sans-serif;
}
.ride-waypoints {
    display:flex;
    flex-wrap:wrap;     /* Allows wrapping to next line */
    gap:6px;
    margin-bottom:16px;
    max-height:30px;     /* Keeps 1–2 line appearance */
    overflow:hidden;     /* Prevents excessive vertical growth */
}

.waypoint-chip {
    padding:5px 12px;
    border-radius:20px;
    background:rgba(255,255,255,0.10);
    color:#fff;
    font-size:0.8rem;
    display:flex;
    align-items:center;
    gap:4px;
    white-space:nowrap;  /* Keeps each chip on one line */
}

.ride-card-footer{
  margin-top:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.price-label{
  font-family:'Montserrat',sans-serif;
  font-weight:600;
  color:#fff;
  font-size:15px;
}
.price-label span{
  font-size:12px;
  color:#777;
  text-decoration:line-through;
  margin-left:6px;
}
.btn-small-uc{
  background:var(--uc-red);
  color:#eeeeee;
  padding:8px 16px;
  border-radius:4px;
  font-size:13px;
  font-weight: 500;
  font-family:'Montserrat',sans-serif;
  text-transform:none;
  cursor: default;
}
.btn-small-uc:hover{
    color: #ffffff;
    background:var(--uc-red-dark);
}

/* --- Section Heading --- */
.page-header {
  background: url('/images/banner_2.jpg') center/cover no-repeat;
  height: 420px;
  padding: 0 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin-bottom: 60px;
}
.page-header::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
}
.page-header h3 {
    text-align: center;
  position: relative;
  color: #fff;
  font-weight: 600;
  text-transform: uppercase;
  text-shadow: 1px 1px 6px rgba(0,0,0,0.6);
  z-index: 2;
}

@media (max-width: 1366px) {
    .container {
        width: 80%;
    }
}
@media (max-width: 993px) {
    .container {
        width: 90%;
    }
}
/* Outer modal shell */
.contact-modal {
  max-width: 900px;
  max-height: 90vh;
  border-radius: 18px;
  /* allow modal to scroll if content is taller than viewport */
  overflow-y: auto;
  overflow-x: hidden;
  background: transparent;
  border: #222 solid 1px;
}


/* Flex container for left+right */
.contact-modal-inner {
  padding: 0 !important;
  display: flex;
  flex-direction: row;
  /* let height be determined by content */
  height: auto;
  min-height: 0;
}


/* Left visual panel – 35% width, full height */
.contact-modal-left {
  flex: 0 0 35%;
  max-width: 35%;
  position: relative;
  background: url('/images/ride2.jpg') center/cover no-repeat;
}

.contact-modal-left p,.contact-modal-left li{
    color: #cccccc;
}

/* Gradient overlay + content inside left panel */
.contact-modal-left::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.4), rgba(0,0,0,0.95));
}

.contact-left-overlay {
  position: relative;
  z-index: 1;
  padding: 26px 22px 22px;
  color: #fff;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.contact-tag {
  display: inline-block;
  max-width: 180px;
  padding: 4px 14px;
  border-radius: 999px;
  background: rgba(227,2,2,0.9);
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.contact-left-overlay h5 {
  margin: 0 0 6px;
  font-size: 1.5rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.contact-left-overlay p {
  margin: 0 0 14px;
  font-size: 0.95rem;
  line-height: 1.6;
}

.contact-points {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0.88rem;
}

.contact-points li {
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.contact-points i {
  font-size: 1.1rem;
}

/* Right form panel – 65% width */
.contact-modal-right {
  flex: 0 0 65%;
  max-width: 65%;
  background: #0b0b0d;
  padding: 26px 26px 24px;
  position: relative;
  box-shadow: -10px 0 30px rgba(0,0,0,0.7);
  display: flex;
  flex-direction: column;
}

/* Title */
.contact-title {
  margin: 0 0 14px;
  font-size: 1.5rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
}

/* Close icon */
.custom-close-btn {
  position: absolute;
  top: 14px;
  right: 16px;
  color: #777;
  cursor: pointer;
  z-index: 10;
}

.custom-close-btn i {
  font-size: 26px;
  transition: 0.2s ease;
}

.custom-close-btn:hover i {
  color: #e30202;
}

/* Button styling */
.contact-submit {
  background: #e30202;
  border-radius: 999px;
  padding: 0 28px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-weight: 600;
}

.contact-submit:hover {
  background: #ff4133;
}

/* Form colors */
.contact-modal-right .input-field input,
.contact-modal-right .input-field textarea {
  color: #fff;
}

.contact-modal-right .input-field input:not([type]):focus:not([readonly]),
.contact-modal-right .input-field input[type=text]:focus:not([readonly]),
.contact-modal-right .input-field input[type=email]:focus:not([readonly]),
.contact-modal-right .input-field textarea:focus:not([readonly]) {
  border-bottom: 1px solid #e30202;
  box-shadow: 0 1px 0 0 #e30202;
}

.contact-modal-right .input-field label {
  color: #aaa;
}

.contact-modal-right .select-wrapper input.select-dropdown {
  color: #fff;
}

/* -------- Responsive: stack on mobile -------- */
@media (max-width: 768px) {
  .contact-modal {
    max-width: 95vw;
  }

  .contact-modal-inner {
    flex-direction: column;    /* stack vertical */
  }

  .contact-modal-left,
  .contact-modal-right {
    flex: 0 0 auto;
    max-width: 100%;
  }

  .contact-modal-left {
    min-height: 180px;         /* top banner height */
  }

  .contact-modal-right {
    padding: 20px 18px 18px;
    box-shadow: none;
  }

  .contact-title {
    font-size: 1.3rem;
  }

  .custom-close-btn {
    top: 10px;
    right: 12px;
  }
}

@media (max-width: 600px) {
  .contact-modal {
    border-radius: 14px;
  }
}

.form-message {
    display: none;
    margin-top: 12px;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 0.9rem;
}

.form-message.success {
    background: rgba(46, 204, 113, 0.15);
    color: #2ecc71;
    border: 1px solid rgba(46, 204, 113, 0.5);
}

.form-message.error {
    background: rgba(231, 76, 60, 0.15);
    color: #e74c3c;
    border: 1px solid rgba(231, 76, 60, 0.5);
}