:root {
  --wine-burnt-merlot: #75210a;
  --wine-smoked-sangiovese: #8c331a;
  --wine-olive-zest: #6b8e23;
  --wine-barrel-blue: #2c3e50;
  --color-greenish-yellow: #CDDC39;
  --muted-forest-green: rgba(77, 122, 86, 0.23); 
  --wine-cellar-moss: #4a7856; 
  --bg-light-grey: #f0f0f0;
  --bg-color-usd-green: #85BB65;
  --wine-midnight-syrah: #1b263b;
  --color-light-grey: #707070;
}

.icofont-eye { color: var(--wine-midnight-syrah); }
.icofont-eye-blocked { color: var(--color-light-grey); }

.bg-color-usd-green { background-color: #85BB65; }

.bit-light-grey { background-color: var(--bg-light-grey) !important; }
.color-greenish-yellow { color: #CDDC39 !important; }

.bit-clock .time{ 
    font-family: 'Playfair Display', serif !important;
}

.title a { color: #1b263b; }
.title a:hover { color: #303F9F; }

.bit-clock { 
    background: transparent linear-gradient(103deg, #1b263b 0%, #4e7753 100%) 0% 0% no-repeat padding-box;
    color: #fff;
    padding: 0px 10px;
    border-radius: 10px;
    font-size: 2rem;
    border: 1px solid #607D8B;
    letter-spacing: 1px;
}

/* START: BORDERS */
.brand-border-top-right-radius { border-top-right-radius: 25px !important; }
.brand-border-bottom-left-radius { border-bottom-left-radius: 15px !important; }

.border-bottom-right-radius { border-bottom-right-radius: 10px; }
.border-top-left-radius { border-top-left-radius: 10px; }
/* END: BORDERS */

#fr-logo { display: none !important; }

.xw-content {
    margin: 0;
    padding: 2rem;
}

.float-left { float: left; }
.float-right { float: right; }

/* START: Position */
.bit-position-relative { position: relative; } 
.bit-position-absolute { position: absolute; } 
.bit-top-5 { top: 5px; }
.bit-right-25 { right: 25px; }
/* END: Position */

/* Pagination */
.laravel-pagination { text-align: center; }
.laravel-pagination svg { max-width: 15px; }
.laravel-pagination p { 
    margin: 10px 0 15px 0;
    color: #1b263b;
}
.laravel-pagination p .font-medium{ 
    font-weight: 700;
}

.laravel-pagination a { color: #1b263b; }

.laravel-pagination span[aria-current="page"] span { 
    background-color: #4a7856 !important;
    color: #fff;
 }
 .laravel-pagination span[aria-current="page"] span { 
    background-color: #4a7856 !important;
    color: #fff;
 }
/* Pagination */

/* STRAT HERE: Orders  */
.xw-content.xw-page-orders .ul-products li img.cover-img {
  max-width: 100px;
}

.xw-order-badge {
    background: #1b263b;
    color: #fff;
}

.xw-badge-top-left { 
    position: absolute;
    left: -15px;
    top: -5px;
    font-size: 1rem !important;
    font-weight: 500; 
}

/* ENDS HERE: Orders  */

/* START: Price */
.excellar-price-section .card {
    border-color: var(--wine-cellar-moss);
}

.excellar-price-section .card .card-header {
    background-color: var(--wine-cellar-moss);
    color: #fff;
}
/* Ends: Price */

/* STRAT HERE: Table  */
.table-dark {
  background-color: #1b263b;
}

.dashboard .bit-table.table td {
    font-size: 12px;
}
/* STRAT HERE: Table  */


/* STRAT HERE: Producers */
.xw-content.page-producers .ul-products li .bit-badge{
    display: inline-table;
}
.xw-content.page-producers .ul-products li {
    margin-right: 2%;
}
.xw-content.page-producers .ul-products li img.cover-img {
    max-width: 120px;
    box-shadow: -4px -4px #4a7856;
}
.xw-content.page-producers .ul-products li {
    background: #d5e3d8;
    border: 2px solid #afd5b7;
    border-right: 5px solid #4a7856;
}
.xw-content.page-producers .ul-products li .media-body .vendor-tag {
    color: #1b263b;
    font-size: 1rem;
    padding: 2px 5px;
    background: #d7ddd9;
    border: 1px solid #1b263b9c;
    border-radius: 5px;
    border-style: dashed;
    box-shadow: #4a7856 3px 2px 1px;
    margin-right: 5px;
}
/* STRAT HERE: Producers  */

/* START: Catalog Details */
.product-status-flag {
    top: 3px;
    right: 33px;
    border-top-right-radius: 14px !important;
    font-size: 0.77rem !important;
}

.catalog-product-details { }
.catalog-product-details .product-main-banner{ width: 100%; height: 100%; }
.catalog-product-details .product-main-banner .item-x { 
    background-position: top !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    display: grid;
    grid-template-rows: 1fr;
    width: 100%;
    height: 100%; 
    border-top-left-radius: 5px;
    border-top-right-radius: 40px;
}
.product-details-card .card-header {
    background: rgb(140 50 32 / 63%);
    color: #ffffff;
}
.product-details-card .card-body { }
/* END: Catalog Details */

/* STRAT HERE: Products  */


.pro_details_slider.owl-carousel .owl-nav [class*='owl-'] {
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    border-radius: 50%;
    box-shadow: 0px 3px 6px #1616169c;
    background: #fff;
}
.pro_details_slider.owl-carousel .owl-prev i {
    font-size: 20px;
    line-height: 30px;
}
.pro_details_slider.owl-carousel .owl-next i {
    font-size: 20px;
    line-height: 30px;
    position: relative;
    left: 2px;
}
.pro_details_slider.owl-carousel .owl-next, .pro_details_slider.owl-carousel .owl-prev {
    width: 40px;
    height: 40px;
    line-height: 50px;
    border-radius: 50%;
    position: absolute;
    top: 47%;
    font-size: 20px;
    color: #fff;
    border: 1px solid #ddd;
    text-align: center;
}
.pro_details_slider.owl-carousel .owl-next {
    right: 5px;
}
.pro_details_slider.owl-carousel .owl-prev {
    left: 5px;
}
.pro_details_slider.owl-carousel .owl-nav [class*='owl-']:hover {
    background: #33954A;
    color: #fff;
}
.pro_details_slider img{
    border-radius: 5px;;
}
.proDetails h5{
    font-size: 23px;
}
.proDetails .d-flex{
    padding: 5px 0;
    border-bottom: 1px solid #CCCCCC;
}
.proDetails .d-flex:last-child{
    border-bottom: 1px solid #fff;
}
.proDetails .proDlist{
    background: #fff;
    border-radius: 10px;
    box-shadow: 5px 5px 5px #b9ac92;
}
.proDetails p{
    margin: 0;
}
.widthHalf{ width: 50%; }

.widthSixty{ width: 60%; }
.widthFourty{ width: 40%; }

.pDtitle{
    font-weight: 500;
    font-size: 12px;
}
.product_navD .nav-link{
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #666666;
}

.product_navD .nav-link.active{
    color: #33954A;
}
.product_navD .tab-pane{
    border: 1px solid #dee2e6;
    border-top: 0;
    background: #fff;
    padding: 15px;
}
.product_navD .tab-pane p{
    color: #666666;
}
.similar_products .three_box-btn ul li a{
    font-size: 12px;
}
.similar_products .owl-nav {
    position: absolute;
    top: 35%;
    width: 100%;
}
.similar_products .owl-next {
    float: right;
    width: 28px;
    height: 50px;
    background-color: rgb(255, 255, 255) !important;
    border-top-right-radius: 50px !important;
    border-bottom-right-radius: 50px !important;
    border-bottom: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    right: -30px;
    box-shadow: 4px 2px 6px #00000030;
    font-size:22px !important;
}
.similar_products .owl-prev {
    float: left;
    width: 28px;
    height: 50px;
    background-color: rgb(255, 255, 255) !important;
    border-top-left-radius: 50px !important;
    border-bottom-left-radius: 50px !important;
    border-bottom: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    left: -30px;
    box-shadow: -4px 2px 6px #00000030;
    font-size:22px !important;
}
.similar_products .owl-prev:hover{
    background: #33954A !important;
    color:#fff !important;
}
.similar_products .owl-next:hover{
    background: #33954A !important;
    color:#fff !important;
}
.similar_products .stocks-s{
    position: absolute;
    top: 5px;
    left: 5px;
    background: #30b24edb;
    color: #fff;
}
.similar_title{
    font-size: 24px;
}
.similar_products .owl-dots button.owl-dot {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    display: inline-block;
    background: #ccc;
    margin: 0 3px;
    background-color: #ccc;
}
.similar_products .owl-dots button.owl-dot.active {
    background-color: #33954A;
}
.similar_products .owl-dots {
    text-align: center;
    padding-top: 0;
    padding-bottom: 15px;
}

.add-product { margin: 15px 0px 15px auto; }

.xw-content .ul-products li { 
    height: 100%;
    display: flex;
    align-items: center;
    background: #eee;
    justify-content: center;
    border: 2px solid #ccc;
    border-right: 5px solid #0c5b6c;
}

.xw-content .ul-products li img.cover-img { 
    max-width: 203px; 
    border-radius: 5px;
    box-shadow: -4px -4px #045377;
    margin-left: -10px;
}

.xw-content .ul-products li .media-body { 
    padding: 1rem; 
    flex: 1;
}
.xw-content .ul-products li .media-body .product-tag{
    color: #fff;
    font-size: 12px;
    padding: 2px 5px;
    background: #0c5b6c;
    display: inline-block;
}

.catalog-product-details .product-details-panel { 
    background: #ff5f000a;
    border: 1px solid #818a90;
    padding: 1rem;
    border-radius: 10px;
    border-top-right-radius: 40px;
}

/* END HERE: Products  */

/* START:: MENU */
.bit-menu-catalog img { 
    max-width: 32px;
    margin-right: 5px;
    border-radius: 5px;
}
.bit-menu-catalog span.bit-menu-txt {
    margin-top: 5px;
}
/* END:: MENU */

/* START: Form */
    .bit-form-control, .bit-form-control-sm {
        padding: .375rem .75rem;
        color: #495057;
        height: auto;
    }
/* END: Form */

/* START: SVG */
    .bit-left-menu-svg {
        width: 20px;
        margin-right: 5px;
        margin-top: -5px;
    }
    .bit-svg-color-rose { color: rgb(167 77 86 / 95%); }
    
    .bit-sidebar-menu-item {}
    .bit-sidebar-menu-item .bit-sidebar-menu-img-icon
    {
        margin-right: 5px;
        width: 24px;   
    }
/* END: SVG */

/* START: Height */
    
    .bit-h-auto { height: auto; }
    .bit-h-500px { min-height: 500px; }

/* END: Height */

/* START: Width */
    .w-max-1200px { max-width: 1200px; }
    .w-min-250px { min-width: 250px; }
    .bit-w-auto { width: auto; }
/* END: Width */

.bit-tag {
    color: #dee2e3;
    background: #0894af;
    padding: 3px 5px;
    border-radius: 5px;
    text-transform: capitalize;
    font-size: 14px;
}

.bit-tag-success {
    color: #dee2e3;
    background: #198754;
    padding: 3px 5px;
    border-radius: 5px;
    text-transform: capitalize;
    font-size: 14px;
}

/* START: Padding */

    .bit-btn {
        display: inline-block;
        font-weight: 400;
        text-align: center;
        white-space: nowrap;
        vertical-align: middle;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        border: 1px solid transparent;
        padding: .375rem .75rem;
        font-size: 1rem;
        line-height: 1.5;
        border-radius: .25rem;
        transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
        color: #eee;
        cursor: pointer;
    }
    
    .bit-btn:hover {
        background-color: rgb(5, 104, 140);
        border-color: rgb(5, 104, 140);
        color: #eee;
    }
    
    .bit-btn-sm {
        padding: .25rem .5rem;
        font-size: .875rem;
        line-height: 1.5;
        border-radius: 7px;
    }

    .bit-btn-lg {
        padding: .5rem 1.22rem;
        font-size: 1.4rem;
        border-radius: 10px;
    }

    .bit-btn-dark {
        background-color: rgb(32, 50, 77);
        border: 1px solid rgb(32, 50, 77);
    }
    
    .bit-pl-0 { padding-left: 0 !important; }
    .bit-pr-0 { padding-right: 0 !important; }
    
/* END: Padding */

/* START: Margins */
    
    .bit-m-0 { margin: 0px; }
    .bit-mt-4-5 { margin-top: 1.75rem; }
    .bit-ml-7-px { margin-left: 7px; }
    .bit-mr-5px { margin-right: 5px; }
    .bit-mb-5px { margin-bottom: 5px; }

    .bit-m-auto { margin: 0px auto; }
    
/* END: Margins */

/* START:: COLOR STYLES */
    
    .bit-color-brand-white { color: #dee2e3 !important; }
    .bit-color-brand-orange { color: #F24A04; }
    .bit-color-brand-dark-orange { color: #5e1606; }

    .bit-btn-danger {
        background-color: rgb(230, 50, 0);
        border: 1px solid rgb(230, 50, 0);
    }

    .bit-btn-success {
        background-color: #4a7856;
        border: 1px solid #4a7856;
        color: #fff !important;
    }

    .bit-btn-success:hover, .bit-btn-success:active, .bit-btn-success:focus {
        background-color: #fff;
        color: rgb(0, 50, 95) !important;
    }
    
    .bit-btn-danger:hover, .bit-btn-danger:active, .bit-btn-danger:focus {
        background-color: #fff;
        border: 1px solid rgb(230, 50, 0);
        opacity: 0.86;
        color: rgb(230, 50, 0);
    }
    
    .bit-btn-info {
        background-color: rgb(23 41 50);
        border: 1px solid rgb(23 41 50);
    }
    
    .bit-btn-info:hover, .bit-btn-info:active, .bit-btn-info:focus {
        background-color: #fff;
        border: 1px solid rgb(23 41 50);
        opacity: 0.86;
        color: rgb(23 41 50);
    }

    .bit-btn-warning {
        background-color: rgb(220, 150, 50);
        border: 1px solid rgb(220, 150, 50);
    }
    
    .bit-modal .modal-header {
        border-color: #FCB040;
        background: #33954A;
    }
    
    span.bit-help-block {
        color: #05567a;
        color: rgb(5 86 122);
    }
    
    .bit-solid-sm { 
        display: inline-block;
        padding: 8px 10px;
        margin: 0px 0px 0px 2px;
     }

    .bit-bg-transparent { background: transparent; }
    .bit-bg-muted-forest-green { background-color: var(--muted-forest-green); }
    .bit-bg-muted-grey { background-color: var(--muted-forest-green); }
    .bit-brand-bg-blue { background-color: #335f8b !important; }
    .bit-brand-bg-light-danger { background: rgba(230, 50, 5, 0.1); }
    .bit-brand-bg-light-2-danger { background: rgba(230, 50, 5, 0.05); }
    .bit-brand-bg-light-info { background: rgba(14, 50, 212, 0.23); }
    .bit-brand-bg-light-2-info { background: rgba(14, 50, 212, 0.1); }
    .bit-brand-info-bg { background-color: rgb(5, 86, 122); }
    .bit-brand-light-brown-bg { background: rgb(140 86 77 / 20%); }

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

    .bit-bg-red { background-color: #dc3545 !important; }
    .bit-bg-orange { background-color: rgb(230 140 0 / 95%) !important; }
    .bit-bg-white {
        background-color: #fff !important;
        color: #000;
        border: 1px solid #000; 
    }
    .bit-bg-rose {
        background-color: rgb(167 77 86 / 95%) !important;
    }
    
    .bit-font-white { color: #fff !important; }
    .bit-font-brand { color: #083457 !important; }
    .bit-font-orange { color: #f14304 !important; }
    
/* END:: COLOR STYLES */

/* START:: FONT SIZE STYLES */

    .bit-font-small { font-size: small; }

    .bit-font-size-09-rem { font-size: 0.9rem; }
    .bit-font-size-14px { font-size: 14px; }
    .bit-font-size-18px { font-size: 18px; }
    .bit-font-size-20px { font-size: 20px; }
    
    .bit-font-size-2-rem { font-size: 2rem; }
    .bit-font-size-3-rem { font-size: 3rem; }

    .bit-font-size-1-5-rem { font-size: 1.5rem; }
    .bit-font-size-1-rem { font-size: 1rem; }
    .bit-font-size-10-rem { font-size: 10rem; }
    
    .bit-font-weight-700 { font-weight: 700; }
    
/* END:: FONT SIZE STYLES */

.bit-clear-both { clear: both; }
.bit-margin-auto { margin: 0px auto; }


/* START: Components */
    .bit-badge-danger{
        background-color: #dc3545;
        z-index: 999;
        color: #eee;
    }
    .bit-badge-success{
        background-color: #33954a;
        z-index: 999;
        color: #eee;
    }
    .bit-badge {
        padding: 0.5rem 0.5rem;
        font-size: 75%;
        line-height: 1;
        text-align: center;
        border-radius: .25rem;
        margin: 0px 0 0 5px;
    }
/* START: Components */

/* START: Common */

    .bit-applied-filters {
        margin-bottom: 10px;
        margin-bottom: 10px;
        border: 1px solid rgb(136, 200, 209);
        padding: 10px;
        border-radius: 5px;
    }
    .bit-applied-filters button {
        color: rgb(0, 50, 95);
        border-color: rgb(0, 50, 95);
        margin: 0 2px 2px 0;
    }
    .bit-applied-filters button:hover {
        color: #fff !important;
        border-color: rgb(0, 50, 95) !important;
        background: rgb(0, 50, 95);
    }
    .bit-applied-filters button span {
        color: #fff;
        background: rgb(230, 50, 0);
    }

    .bit-text-underline-on-hover:hover { text-decoration: underline; }

    .bit-display-inherit { display: inherit; }

    .bit-hide-me { display: none !important; }
    .bit-text-align-justify { text-align: justify; }
    .bit-text-align-right { text-align: right; }
    .bit-text-align-left { text-align: left !important; }
    .bit-capitalize-first::first-letter {
        text-transform: capitalize;
    }
    .bit-pointer-events-none { 
        pointer-events: none; 
        opacity: 0.5;
    }

    .bit-light-grey-border { border: 2px solid #eee; }
    .bit-border-wine-cellar-moss { border: 1px solid var(--wine-cellar-moss); }

    .bit-radio-button {
      float: left;
      margin: 5px 5px 0 0;
      width: 140px;
      height: 35px;
      position: relative;
    }
    
    .bit-radio-button label,
    .bit-radio-button input {
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
    }
    
    .bit-radio-button input[type="radio"] {
      opacity: 0.01;
      z-index: 100;
    }
    
    .bit-radio-button input[type="radio"]:checked + label {
      background: #ff5f00;
      border-radius: 5px;
      border: 1px solid #bd0203;
      color: #fff;
    }
    
    .bit-radio-button label {
      cursor: pointer;
      z-index: 90;
      line-height: initial;
      padding: 5px;
    }
    
    .bit-border-bottom { border-bottom: 1px solid #000; }
    .bit-border-none { border: 0px !important; }
    
    .grandOrderTotal tr td { 
        color: #495057 !important;
        font-size: 20px !important; 
    }
    
    .order-detail-modal .po-address-footer,
    #orderRequestModal .po-address-footer {
        padding: 15px 0;
        margin: 0;
        background: rgba(77, 122, 104, 0.23);
    }
    .order-detail-modal .po-address-footer-col,
    #orderRequestModal .po-address-footer-col { font-style: inherit; }
    
    .order-detail-modal .modal-content,
    #orderRequestModal .modal-content {
        border-radius: 10px;
    }
    
    .order-detail-modal .modal-header,
    #orderRequestModal .modal-header {
        background: rgb(77 122 104);
        border-bottom: 0;
        border-top-left-radius: 10px;
        border-top-right-radius: 10px;
    }
    
    .order-detail-modal .po-main-header,
    #orderRequestModal .po-main-header {
        background: rgb(77 122 104);
        margin: 0px 0 0 0;
    }
    
    .order-detail-modal .po-address-section,
    #orderRequestModal .po-address-section { font-style: inherit; }
    
    .order-detail-modal .po-xwine-address,
    #orderRequestModal .po-xwine-address { font-style: inherit; }
    
    .order-detail-modal .po-xwine-address p,
    #orderRequestModal .po-xwine-address p { margin-bottom: 0.23rem; }
    
    .order-detail-modal .po-address-section .address-header,
    #orderRequestModal .po-address-section .address-header{ background: rgb(167 203 86); }
    
    .order-detail-modal .po-main-header table tr{ border-bottom-color: transparent; }
    
    .order-detail-modal .po-address-section table tr td,
    #orderRequestModal .po-address-section table tr td { 
        padding-left: 10px; 
        color: #495057;
    }
    
    .order-detail-modal .po-main-header table tbody tr td,
    #orderRequestModal .po-main-header table tbody tr td { border-bottom: 0px; padding: .14rem .20rem; color: #eee; }
/* END: Common */

.subscribed-menu-badge {
    font-size: 2rem !important;
    margin: -6px 6px 4px 6px;
}

.bit-table-tr-hover-info tbody tr:hover { background: #dcebec !important; }

/* START: COUNT DOWN */
.count-down-offer-extra-menu-space { padding-top: 4.5rem !important; }
.section-count-down {
    background: #e13e60;
    position: fixed;
    z-index: 1000;
}
.counter-container{
  max-width: 1280px;
  margin: 0px auto;
}
.count-time{
    margin: 0px auto;
    padding: 0px;
    list-style: none; 
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    /*box-shadow: 0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.3);*/
    background-image: linear-gradient(135deg, #E73D59 0%, #604AE6 100%);
    li{
      -ms-flex-preferred-size: 0;
      flex-basis: 0;
      -ms-flex-positive: 1;
      flex-grow: 1;
      max-width: 100%;
      border-left: 1px solid #ccc;
      text-align: center;
      padding:3px;
      color:#fff;
      &:first-child{
        border-left: 1px solid transparent;
      }
      >div{
        font-size: 23px;
      }
    }
  }
.section-count-down .counter-container .counter-tagline {
    font-size: 1.4rem; 
    padding: 12px;
}

.section-count-down .counter-container .counter-unit {
    max-width: 77px;
}
/* ENDS: COUNT DOWN */

/* START: SIGNUP PAGE  */
.signup-form .form-group-section {
    border: 2px solid rgb(157, 185, 186);
    border-radius: 5px;
    padding: 1.5rem 1rem;
    background: rgba(223, 240, 244, 0.5);
}
/* END: SIGNUP PAGE  */

.border-radius-10px { border-radius: 10px; }

/* THIS BLOCK NEEDS TO MOVE TO THE CORRECT CSS FILE WHICH IS LOADING IN ALL PAFES */
/* CUSTON */
.dash-section-heading {
    color: #eee;
    padding: 15px 0px 15px 25px;
    margin: 0px -15px 0 -15px;
    background: var(--wine-barrel-blue);
    border-bottom: 1px solid #edb3a2;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

@media (min-width: 1200px) {
  .modal-xl {
    max-width: 1140px;
  }
}

/* ============================================
   VENDOR TILES - Enhanced Design System
   Routes: /merchant/producer, /merchant/importer, /merchant/distributor
   ============================================ */

/* Container for vendor grid */
.vendor-tiles-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 1.5rem;
    padding: 1rem 0;
}

/* Individual vendor tile card */
.vendor-tile {
    background: linear-gradient(145deg, #ffffff 0%, #f8faf9 100%);
    border-radius: 16px;
    border: 1px solid rgba(74, 120, 86, 0.15);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.07),
                0 2px 4px -1px rgba(0, 0, 0, 0.04);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
    position: relative;
}

.vendor-tile:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1),
                0 10px 10px -5px rgba(0, 0, 0, 0.04);
    border-color: var(--wine-cellar-moss);
}

.vendor-tile:focus-within {
    outline: 2px solid var(--wine-cellar-moss);
    outline-offset: 2px;
}

/* Vendor type indicator bar */
.vendor-tile::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--wine-cellar-moss) 0%, #6b9e7a 100%);
}

.vendor-tile.vendor-type-producer::before {
    background: linear-gradient(90deg, #4a7856 0%, #6b9e7a 100%);
}

.vendor-tile.vendor-type-importer::before {
    background: linear-gradient(90deg, #2c5364 0%, #0f2027 100%);
}

.vendor-tile.vendor-type-distributor::before {
    background: linear-gradient(90deg, #3a1c71 0%, #d76d77 50%, #ffaf7b 100%);
}

/* Tile header with logo and name */
.vendor-tile-header {
    display: flex;
    align-items: flex-start;
    padding: 1.25rem 1.25rem 0.75rem;
    gap: 1rem;
}

/* Vendor logo/image */
.vendor-tile-logo {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    border-radius: 12px;
    overflow: hidden;
    background: linear-gradient(135deg, #d5e3d8 0%, #afd5b7 100%);
    box-shadow: 0 4px 8px rgba(74, 120, 86, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
}

.vendor-tile-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.vendor-tile:hover .vendor-tile-logo img {
    transform: scale(1.05);
}

/* Vendor info section */
.vendor-tile-info {
    flex: 1;
    min-width: 0;
}

.vendor-tile-name {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--wine-midnight-syrah);
    margin: 0 0 0.25rem 0;
    line-height: 1.3;
}

.vendor-tile-name a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
}

.vendor-tile-name a:hover {
    color: var(--wine-cellar-moss);
}

.vendor-tile-subscription {
    display: inline-flex;
    align-items: center;
    margin-left: 0.5rem;
}

/* Vendor meta info (location, registration date) */
.vendor-tile-meta {
    padding: 0 1.25rem;
}

.vendor-tile-meta-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: #64748b;
    margin-bottom: 0.5rem;
}

.vendor-tile-meta-item i {
    color: var(--wine-cellar-moss);
    width: 16px;
    text-align: center;
}

.vendor-tile-meta-item strong {
    color: var(--wine-midnight-syrah);
    font-weight: 500;
}

/* Vendor tags section */
.vendor-tile-tags {
    padding: 0.5rem 1.25rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.vendor-tile-tag {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.75rem;
    background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
    border: 1px dashed rgba(74, 120, 86, 0.4);
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--wine-midnight-syrah);
    transition: all 0.2s ease;
}

.vendor-tile-tag:hover {
    background: linear-gradient(135deg, #c8e6c9 0%, #a5d6a7 100%);
    border-style: solid;
}

/* Vendor actions footer */
.vendor-tile-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 1rem 1.25rem 1.25rem;
    background: linear-gradient(180deg, transparent 0%, rgba(74, 120, 86, 0.03) 100%);
    border-top: 1px solid rgba(74, 120, 86, 0.1);
    margin-top: 0.5rem;
}

/* Action buttons */
.vendor-tile-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: 8px;
    font-size: 0.8125rem;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    border: none;
    white-space: nowrap;
}

.vendor-tile-btn i {
    font-size: 0.875rem;
}

.vendor-tile-btn-primary {
    background: var(--wine-midnight-syrah);
    color: #ffffff;
}

.vendor-tile-btn-primary:hover {
    background: #2d3e50;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(27, 38, 59, 0.25);
}

.vendor-tile-btn-success {
    background: var(--wine-cellar-moss);
    color: #ffffff;
}

.vendor-tile-btn-success:hover {
    background: #3d6347;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(74, 120, 86, 0.35);
}

.vendor-tile-btn-outline {
    background: transparent;
    color: var(--wine-midnight-syrah);
    border: 1px solid rgba(27, 38, 59, 0.2);
}

.vendor-tile-btn-outline:hover {
    background: var(--wine-midnight-syrah);
    color: #ffffff;
    border-color: var(--wine-midnight-syrah);
}

/* User count badge */
.vendor-tile-users {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem 0.75rem;
    background: rgba(74, 120, 86, 0.1);
    border-radius: 20px;
    font-size: 0.75rem;
    color: var(--wine-cellar-moss);
    font-weight: 500;
}

.vendor-tile-users i {
    font-size: 0.875rem;
}

.vendor-tile-no-users {
    font-size: 0.75rem;
    color: #94a3b8;
    padding: 0.375rem 0.75rem;
    background: #f1f5f9;
    border-radius: 20px;
}

/* ============================================
   Vendor Page Tabs - Enhanced Styling
   ============================================ */

.vendor-page-tabs {
    border: none;
    margin-bottom: 1.5rem;
    gap: 0.5rem;
}

.vendor-page-tabs .nav-item {
    margin: 0;
}

.vendor-page-tabs .nav-link {
    border: none;
    background: #f1f5f9;
    color: #64748b;
    padding: 0.75rem 1.5rem;
    border-radius: 10px;
    font-weight: 500;
    transition: all 0.2s ease;
}

.vendor-page-tabs .nav-link:hover {
    background: #e2e8f0;
    color: var(--wine-midnight-syrah);
}

.vendor-page-tabs .nav-link.active {
    background: var(--wine-cellar-moss);
    color: #ffffff;
}

/* ============================================
   Rate List Requests Table - Enhanced
   ============================================ */

.rate-list-table {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.rate-list-table thead {
    background: var(--wine-midnight-syrah);
}

.rate-list-table thead th {
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    padding: 1rem 1.25rem;
    color: #ffffff;
    border: none;
}

.rate-list-table tbody tr {
    transition: background-color 0.15s ease;
}

.rate-list-table tbody tr:hover {
    background-color: rgba(74, 120, 86, 0.05);
}

.rate-list-table tbody td {
    padding: 1rem 1.25rem;
    vertical-align: middle;
    border-bottom: 1px solid #e2e8f0;
}

.rate-list-status {
    display: inline-flex;
    align-items: center;
    padding: 0.375rem 0.75rem;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: capitalize;
}

.rate-list-status-pending {
    background: #fef3c7;
    color: #92400e;
}

.rate-list-status-approved {
    background: #d1fae5;
    color: #065f46;
}

.rate-list-status-rejected {
    background: #fee2e2;
    color: #991b1b;
}

/* ============================================
   Access Restriction Alert - Enhanced
   ============================================ */

.vendor-access-alert {
    background: linear-gradient(135deg, #dbeafe 0%, #e0e7ff 100%);
    border: 1px solid #93c5fd;
    border-radius: 12px;
    padding: 1.5rem;
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.vendor-access-alert-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    background: #3b82f6;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 1.25rem;
}

.vendor-access-alert-content h4 {
    font-size: 1rem;
    font-weight: 600;
    color: #1e40af;
    margin: 0 0 0.5rem 0;
}

.vendor-access-alert-content p {
    font-size: 0.875rem;
    color: #1e3a8a;
    margin: 0;
    line-height: 1.5;
}

/* ============================================
   Empty State - Enhanced
   ============================================ */

.vendor-empty-state {
    text-align: center;
    padding: 3rem 1.5rem;
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
    border-radius: 16px;
    border: 2px dashed #e2e8f0;
}

.vendor-empty-state-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 1.5rem;
    background: #f1f5f9;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    color: #94a3b8;
}

.vendor-empty-state h3 {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--wine-midnight-syrah);
    margin: 0 0 0.5rem 0;
}

.vendor-empty-state p {
    font-size: 0.875rem;
    color: #64748b;
    margin: 0;
}

/* ============================================
   Page Header - Enhanced
   ============================================ */

.vendor-page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid rgba(74, 120, 86, 0.1);
}

.vendor-page-title {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.vendor-page-title-icon {
    width: 48px;
    height: 48px;
    background: linear-gradient(135deg, var(--wine-cellar-moss) 0%, #6b9e7a 100%);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 1.25rem;
}

.vendor-page-title h1 {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--wine-midnight-syrah);
    margin: 0;
}

.vendor-page-title .vendor-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 32px;
    padding: 0 0.75rem;
    background: rgba(74, 120, 86, 0.1);
    color: var(--wine-cellar-moss);
    border-radius: 16px;
    font-size: 0.875rem;
    font-weight: 600;
    margin-left: 0.75rem;
}

/* ============================================
   Responsive Design
   ============================================ */

@media (max-width: 1200px) {
    .vendor-tiles-container {
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    }
}

@media (max-width: 768px) {
    .vendor-tiles-container {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .vendor-tile-header {
        padding: 1rem 1rem 0.5rem;
    }

    .vendor-tile-logo {
        width: 64px;
        height: 64px;
    }

    .vendor-tile-name {
        font-size: 1rem;
    }

    .vendor-tile-actions {
        padding: 0.75rem 1rem 1rem;
    }

    .vendor-tile-btn {
        padding: 0.5rem 0.75rem;
        font-size: 0.75rem;
    }

    .vendor-page-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .vendor-page-tabs {
        width: 100%;
        flex-wrap: wrap;
    }

    .vendor-page-tabs .nav-link {
        padding: 0.625rem 1rem;
        font-size: 0.875rem;
    }
}

@media (max-width: 480px) {
    .vendor-tile-actions {
        flex-direction: column;
    }

    .vendor-tile-btn {
        width: 100%;
        justify-content: center;
    }
}

/* ============================================
   Animation Keyframes
   ============================================ */

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.vendor-tile {
    animation: fadeInUp 0.4s ease-out;
    animation-fill-mode: both;
}

.vendor-tile:nth-child(1) { animation-delay: 0.05s; }
.vendor-tile:nth-child(2) { animation-delay: 0.1s; }
.vendor-tile:nth-child(3) { animation-delay: 0.15s; }
.vendor-tile:nth-child(4) { animation-delay: 0.2s; }
.vendor-tile:nth-child(5) { animation-delay: 0.25s; }
.vendor-tile:nth-child(6) { animation-delay: 0.3s; }
.vendor-tile:nth-child(7) { animation-delay: 0.35s; }
.vendor-tile:nth-child(8) { animation-delay: 0.4s; }
.vendor-tile:nth-child(9) { animation-delay: 0.45s; }
.vendor-tile:nth-child(10) { animation-delay: 0.5s; }

/* Accessibility - Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    .vendor-tile {
        animation: none;
        transition: none;
    }

    .vendor-tile:hover {
        transform: none;
    }

    .vendor-tile-logo img {
        transition: none;
    }
}

/* Vendor Tile - Premium Access Blur Effect */
.vendor-tile-blurred {
    position: relative;
    overflow: hidden;
}

.vendor-tile-blurred .vendor-tile-header,
.vendor-tile-blurred .vendor-tile-meta,
.vendor-tile-blurred .vendor-tile-actions {
    filter: blur(6px);
    pointer-events: none;
    user-select: none;
}

.vendor-tile-blurred .vendor-tile-header .vendor-tile-name a,
.vendor-tile-blurred .vendor-tile-meta-item span {
    color: transparent;
    text-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}

.vendor-tile-upgrade-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.85);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    border-radius: inherit;
}

.vendor-tile-upgrade-content {
    text-align: center;
    padding: 20px;
}

.vendor-tile-upgrade-content i.icofont-lock {
    font-size: 2.5rem;
    color: #6c757d;
    margin-bottom: 10px;
    display: block;
}

.vendor-tile-upgrade-content p {
    font-size: 0.95rem;
    color: #495057;
    margin-bottom: 15px;
    font-weight: 500;
}

.vendor-tile-btn-upgrade {
    background: linear-gradient(135deg, #f5af19 0%, #f12711 100%);
    color: #fff !important;
    border: none;
    padding: 10px 24px;
    font-size: 0.9rem;
    font-weight: 600;
    border-radius: 25px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(241, 39, 17, 0.3);
}

.vendor-tile-btn-upgrade:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(241, 39, 17, 0.4);
    color: #fff !important;
    text-decoration: none;
}

.vendor-tile-btn-upgrade i {
    font-size: 1rem;
}