/*
Theme Name:   Storefront Shopla
Theme URI:    http://shopla.co
Description:  Storefront child theme for Shoplà
Author:       Shoplà Schweiz AG
Author URI:   http://shopla.ai
Template:     storefront
Version:      1.0.1
Text Domain:  storefront-shopla
*/

:root {
  --shopla-red: #FF0000;
  --shopla-red-ribbon: #FF004C;
  --shopla-dark-blue: #0049FF;
  --shopla-cerulean-blue: #0055C5;
  --shopla-periwinkle: hwb(223 75% 0%);
  --shopla-periwinkle-transparent: hwb(223 0% 0% / 0.25 );
  --shopla-pink: #FFBFD2;
  --shopla-romantic: #FFD5BF;
  --shopla-tan-hide: #FFA361;
  --shopla-international-orange: #FF5700;
  --shopla-your-pink: #FFBFBF;
  --shopla-salmon: #FF8066;
  --shopla-resolution-blue: #001F7A;
  --shopla-azure-radiance: #007FFF;
  --shopla-french-rose: #FF5692;
  --shopla-menu-text-color: #6d6d6d;
  --shopla-mobile-header-height: 60px;
  --shopla-mobile-header-padding: 5px;
  --shopla-mobile-footer-height: 60px;
  --shopla-mobile-icon-size: 32px;
  --shopla-header-height: 91px;
}

@keyframes slideInFromLeft {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(0);
    }
}

@keyframes fadeInRright {
    0% {
        opacity: 0;
        transform: translateX(30%);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

.shopla button:focus {
  outline: none;
}

.shopla .col-full {
    max-width: 85em;
    margin-left: auto;
    margin-right: auto;
    padding-inline: 20px;
}

.shopla #page .col-full:not(.merchant-header-wrapper) {
  padding-inline: 55px;
}

/*shopla header map styling */
div.mapboxgl-popup-tip {
    display: none !important;
}

div.shopla-header-item {
    width: 100%;
    height: 410px;

    h1 {
        font-size: 2em;
    }
}

.home.blog .shopla-header, .home.page:not(.page-template-template-homepage) .shopla-header, .home.post-type-archive-product .shopla-header {
    margin-bottom: 2.1em;
}

div.shopla-header-map > div.mapboxgl-popup-content {
    padding-bottom: 7px;
    padding-left: 7px;
    padding-top: 7px;
    padding-right: 7px;
}

div.shopla-header-map > div.mapboxgl-popup-content > h4 {
    margin-bottom: 0px;
}

.shopla .storefront-handheld-footer-bar {
    box-shadow: 0 0 40px 0 #6d56fa26;
    border: 1px solid #e5e5e5;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    background: rgba(255, 255, 255, .7);
}

.shopla .storefront-handheld-footer-bar ul li > a {
    background-color: rgba(0,0,0,0);
    height: var(--shopla-mobile-footer-height);
}

.shopla .storefront-handheld-footer-bar ul {
    li.search .site-search {
        background-color: rgba(0,0,0,0);
        bottom: -5em
    }

    li.search.active .site-search {
        bottom: 100%;
    }
}

.shopla .site-search .widget_product_search form.woocommerce-product-search {
    border-radius: 30px;
    background-color: white;
    transition: box-shadow 0.5s ease;

    &:hover {
        box-shadow: inset 0 1px 5px rgba(0,0,0,.125);
    }

    &:before {
        content: none;
    }

    input[type=search] {
        height: 100%;
        padding-inline: 0;
        box-shadow: none;
        background-color: unset;
    }
}

.shopla .storefront-handheld-footer-bar ul li.my-account>a::before {
    content: 'account_circle';
}

.shopla .storefront-handheld-footer-bar ul li.search>a::before {
    content: 'search';
}

.shopla .storefront-handheld-footer-bar ul li.cart>a::before {
    content: 'local_mall';
}

.shopla .storefront-handheld-footer-bar ul li>a {
  border-right:0;

  &::before {
      font-family: 'Material Symbols Outlined';
      font-weight: 200;
      line-height: 1.9;
      font-size: var(--shopla-mobile-icon-size);
      border-right: 0
  }
}

.shopla-marker {
  cursor: pointer;
  width: 30px;
  height: 42px;
  background-image: url('/wp-content/uploads/blue_pin.svg');
  background-size: contain;
  filter: drop-shadow(0px 10px 6px #6d56fa26);

  &.shopla-marker-selected {
    background-image: url('/wp-content/uploads/red_pin.svg');
  }

  &:hover {
    width: calc(1.5 * 30px);
    height: calc(1.5 * 42px);

    .shopla-marker-img {
      width: calc(1.5 * 28px);
      height: calc(1.5 * 28px);
      translate: -50% calc(-50% - 1.5*6px);
    }
  }

  .shopla-marker-img {
    position: absolute;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    translate: -50% calc(-50% - 6px);
  }
}

.shopla-map-popup {
  background: #fff;
  border: 0;
  box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 2px 6px 2px rgba(60, 64, 67, 0.15);
  border-radius: 8px;
  overflow: hidden;
}

.material-symbols-outlined {
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  font-feature-settings: 'liga';
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}

div.storefront-breadcrumb {
    padding: 22px 0 22px 0;
    margin: 0 0 0;

    nav {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

div.shopla-removepadding > div {
    padding : 0 !important;
}

div.shopla-removepadding > video {
    border-radius: 16px;
}

div.woocommerce-variation-add-to-cart > button {
    margin: 10px;
}

.shopla button.alt {
    margin: 10px;
}

div.quantity > input {
     margin: 10px;
 }

.shopla-blur {
    backdrop-filter: blur(8px);
    border-radius: 16px;
}

ul.shopla-list-item {
    list-style: none;
    margin: 20px;
}

.shopla-list-item > li:before {
    font-family: 'Material Symbols Outlined';
    font-weight: 300;
    font-size: 24px;
    content: '\e86c';
    float: left;
    margin:0 10px 0 0;
}

.shopla-list-item > li {
    padding: 8px;
    margin-top: 8px;
}

.shopla-chip {
    filter: drop-shadow(0 20px 13px rgba(0,0,0,.03)) drop-shadow(0 8px 5px rgba(0,0,0,.08));
}

.shopla-border {
    border: double 2px transparent;
    border-radius: 16px;
    background-image: linear-gradient(white, white),
                      linear-gradient(to right, red, purple);
    background-origin: border-box;
    background-clip: content-box, border-box;
}

div.shopla-card {
    background-color: white;
    border-radius: 24px;
    filter: drop-shadow(0 20px 13px rgba(0,0,0,.03)) drop-shadow(0 8px 5px rgba(0,0,0,.08));
}

.hentry .entry-content .wp-block-button,.editor-styles-wrapper .wp-block-button{margin-bottom:1.41575em}
.hentry .entry-content .wp-block-button .wp-block-button__link,.editor-styles-wrapper .wp-block-button .wp-block-button__link{border-radius:0;font-size:1em;line-height:1.618;border:0;cursor:pointer;padding:.6180469716em 1.41575em;text-decoration:none;font-weight:600;text-shadow:none;display:inline-block;-webkit-appearance:none}
.hentry .entry-content .wp-block-button.is-style-outline .wp-block-button__link,.hentry .entry-content .wp-block-button.is-style-outline .wp-block-button__link:focus,.hentry .entry-content .wp-block-button.is-style-outline .wp-block-button__link:active,.hentry .entry-content .wp-block-button.is-style-outline .wp-block-button__link:hover,.editor-styles-wrapper .wp-block-button.is-style-outline .wp-block-button__link,.editor-styles-wrapper .wp-block-button.is-style-outline .wp-block-button__link:focus,.editor-styles-wrapper .wp-block-button.is-style-outline .wp-block-button__link:active,.editor-styles-wrapper .wp-block-button.is-style-outline .wp-block-button__link:hover{background:rgba(0,0,0,0);border:2px solid currentColor}


/* Full header block */
.shopla header.site-header {
    position: sticky;
    width: 100%;
    padding-top: 0;
    background-color: transparent;
    border-bottom: none;
    margin-bottom: 0px !important;
    pointer-events: none; 
    z-index : 1401;
}

.header-row, .pannel {
    box-sizing: border-box;
    backdrop-filter: blur(8px);
    border-radius: 16px;
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 0 40px 0 #6d56fa26;
    border: 1px solid #e5e5e5;
    background: rgba(255, 255, 255, 0.70);
}

/* Logo + searchbar + nav icons block */
.shopla .header-stack {
    display:flex;
    flex-direction:column;
    row-gap: 8px;
    pointer-events: auto;
    padding-top:20px;

    &::before {
        content : unset;
    }

    & > .main-row {
        padding: 30px;
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-between;
        background: rgba(255, 255, 255, 0.70);
    }

    & > .white-row {
        background: rgba(255, 255, 255, 1);
    }

    & > .message-row {
        z-index: -1;
        padding-left: 35px;
        padding-right: 35px;
        padding-top: 15px;
        padding-bottom: 15px;

        & .woocommerce:focus-visible {
            outline: none;
        }

        & .woocommerce-message:focus-visible {
            outline: none;
        }

        & .woocommerce-error:focus-visible {
            outline: none;
        }

    }

    & > .message-row:has(div.woocommerce > .woocommerce-message){
        background: rgba(15, 131, 77, 0.85);
    }

    & > .message-row:has(div.woocommerce > .woocommerce-error){
        background: rgba(226, 64, 28, 0.85)
    }

    & > .message-row:has(div.woocommerce > .woocommerce-info){
        background: rgba(61, 156, 210, 0.85)
    }
    
}

.shopla .header-stack .message-row:has(div.woocommerce:empty), .shopla .header-stack .message-row:not(:has(div.woocommerce)) {
    display: none;
}

.shopla .header-stack .message-row .woocommerce-message, .shopla .header-stack .message-row .woocommerce-error, .shopla .header-stack .message-row .woocommerce-info{
    margin: 0;
    border:0;
    padding:0;
    padding-left:30px;
    background: none;
    
    &::before {
        display: inline-block;
        position: absolute;
        top: 0;
        left: 0;
    }

    & a {
        color: white;
    }
}

.shopla .header-stack,  .shopla div.col-full.modal-content {

    margin-left: auto;
    margin-right: auto;
}

.shopla div.col-full.modal-content {
    left: 20px;
    right: 20px;
}

header:not(:has(~ #slides-wrapper,~ #shopla-header-map)) > div.header-stack .woocommerce-product-search {
    background-color: #f2f2f2;
    border-radius: 30px;
    transition: box-shadow 0.5s ease;

    &:hover {
        box-shadow: inset 0 1px 3px rgba(0,0,0,.125);
    }

    .locate-icon {
        display: none;
    }
}

.dokan-store-products-filter-area .dokan-store-products-ordeby {
    display: flex;
    flex-wrap: wrap;
    justify-content : flex-start;
    row-gap: 20px;
    margin-bottom : 0px;
}

.dokan-store-products-filter-area .orderby-search {
    margin-left: auto;
}

.dokan-store-products-filter-area .product-name-search {
    width: 220px;
}

@media (max-width: 650px) {
    .dokan-store-products-filter-area select.orderby.orderby-search {
        flex-basis: 100%;
        margin-top: 5px;
    }

    .dokan-store-products-filter-area .dokan-store-products-ordeby input.product-name-search {
        width: 70%;
    }

    .dokan-store-products-filter-area .dokan-store-products-ordeby input.search-store-products {
        width: 30%;
    }
}

@media (max-width: 768px) {

    .shopla #page .col-full:not(.merchant-header-wrapper) {
      padding-inline: 24px;
    }

    .shopla header.site-header {
        top: 0
    }

    .shopla .header-stack > .header-row {
        border-radius: 0;
        padding: 25px;
    }

    .shopla .header-stack > .main-row {
        padding: var(--shopla-mobile-header-padding);
        height: var(--shopla-mobile-header-height);
    }

    .shopla .header-stack {
        top: 0;
        row-gap: 0;
        padding-left: 0;
        padding-right: 0;
        padding-top:0;

        & > .message-row {
            padding-right: 25px;
            padding-top: 15px;
            padding-bottom: 15px;
        }
    }

    .shopla .header-stack, .shopla div.col-full.modal-content {
        left: 0;
        right: 0;
        margin-left: 0;
        margin-right: 0;
    }

    .shopla #page .merchant-header-wrapper {
        top: var(--shopla-mobile-header-height);
        padding: 0;
        overflow-y: visible;
    }

    .shopla .merchant-header {
        align-items: first baseline;
        margin:0;
        padding-top: 7px;
        padding-bottom: 7px;
        padding-right: 7px;
        padding-left: 20px;
        column-gap: 15px;
        border-radius: 0;
        height: auto;
        overflow-y: visible;

        & .header-store-avatar {
            transform: translateY(17px);
            margin-top: -17px;
            margin-bottom: 17px;
            flex-shrink: 0;
        
            & img {
                width: 56px;
                height: 56px;
            }
        }

    }

    ul.dokan-store-info {
        overflow-y: hidden;

        & > li {
            overflow-y: hidden;
        }
    }

    .shopla .storefront-primary-navigation {
      z-index: 10;
      position: absolute;
      left:0;
      top: 0;
      max-height: calc(100vh - var(--shopla-mobile-footer-height));
      overflow-y: auto;
      pointer-events: auto;
      transition: all, ease, .1s;

      &:has(.main-navigation.toggled) {
        background-color: white;
      }

      .main-navigation {
        .shopla-category-menu {
          width: 100vw;
          display: none;

          .dropdown-toggle {
            padding-inline: 16px;
          }
        }
        &.toggled {
          .shopla-category-menu {
            display: block;
          }
          .material-symbols-outlined {
            display: block;
          }
        }
      }

      .col-full {
        padding: 0;
        margin: 0;
      }

      .nav-menu {
        transition: none;
      }

      .localization {
        position: absolute;
        top: 0;
        right: 0;
        background-color: unset;
        padding: 0;
        display: block;
        font-size: var(--shopla-mobile-icon-size);
        text-align: right;

        .material-symbols-outlined {
          display: none;
          cursor: pointer;
          padding: 16px;
          font-size: var(--shopla-mobile-icon-size);
        }
      }
      
      .menu-toggle {
        background-color: unset;
        border: 0;
        padding: 16px;
        font-size: 32px;
        float: left;
        display: flex;
        min-height: 50px;

        &::after, &::before, span::before {
          content: none;
        }
        
        .material-symbols-outlined::after  {
          content: 'menu';
          font-size: var(--shopla-mobile-icon-size);
        }

        &[aria-expanded='true'] .material-symbols-outlined::after {
          content: 'close';
        }
      }
    }

    .shopla .secondary-navigation {
      display: none;
    }

    .shopla .site-header-cart {
      display: none;
    }

    .shopla .site-branding {
      padding-left: unset;
      margin: 0 auto;
    }

    div.store-header-title {
        flex-wrap: wrap;
        row-gap : 10px;
        column-gap : 15px;
        margin-top:0px;
        margin-bottom:0px;
        overflow: hidden;
    }

    .shopla #primary .wc-block-grid .wc-block-grid__product {
        max-width: 44%;
        min-width: 44%;
    }

    .shopla.storefront-full-width-content #primary .site-main ul.products li.product {
        max-width: unset;
        margin-right: unset;
    }

    div#secondary {
        display: none;
    }

    .site-main ul.products {
        row-gap: 5vw !important;
        margin-bottom: 5vw !important;

        li.product {
            min-width: 42.5vw !important;
        }
    }

    .site-main div.products-grouped-by-store ul.products {
        &::before {
            content:"";
        }

        &::after {
            content:"\00a0";
        }
        
        li.product {
            min-width: 34vw !important;
            max-width: 34vw !important;
            scroll-margin-left: 5vw;
        }
    }
}

.shopla .main-navigation ul.menu>li>a {
    padding: 1em 1em;
}

.storefront-primary-navigation {
    order: 3;
}

#shopla-header-map {
    order: 2;
    margin-bottom: 10px;
}

.shopla #primary li.product, .shopla #primary .wc-block-grid .wc-block-grid__product {
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    overflow: hidden;
}

@media (max-width: 768px) {

    .shopla #primary li.product, .shopla #primary .wc-block-grid .wc-block-grid__product {
        border-radius: 4vw;
    }
}

.shopla #primary li.product h2 {
    height: 3.5rem;
    padding: 10px;
    font-size: 1.2rem;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.shopla #primary li.product:hover, .shopla #primary .wc-block-grid .wc-block-grid__product:hover {
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1), 0 3px 10px 0 rgba(0, 0, 0, 0.1);
}

.shopla a:focus, .shopla input:focus{
    outline: none;
}

.shopla .products .button.product_type_variable {
    display: none;
}

.shopla .products .button.product_type_external {
    display: none;
}

.shopla .products .button.product_type_simple {
    display: none;
}

.wc-block-grid.wp-block-product-on-sale .wp-block-button {
    display: none;
}

.shopla ul.products li.product img {
    margin: 0;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.shopla ul.products li.product span.onsale {
  position: absolute;
  top: 10px;
  right: 10px;
  background-color: white;
}

.shopla .wc-block-grid .wc-block-grid__product-onsale,.wc-block-grid__product-image .wc-block-grid__product-onsale {
    top: 10px;
    right: 10px;
}

.shopla .theme-twentytwenty .wc-block-grid.has-3-columns .wc-block-grid__product,.shopla .wc-block-grid.has-3-columns .wc-block-grid__product {
    max-width: 27%;
}

.shopla .site-main ul.products {
    display: flex;
    flex-wrap: nowrap;
    row-gap: 16px;
    margin-bottom: 50px;
    
    &::before {
        content : unset;
    } 

    &::after {
        content : unset;
    }

    & li.product {
        flex-shrink: 0;
        min-width: 21.25%;
        max-width: 21.25%;
        margin-right: unset;
        margin-bottom: unset;
        scroll-snap-align: start;

        a.woocommerce-LoopProduct-link {
            display: flex;
            flex-direction: column;
            height: 100%
        }
    }

    & li.product.shopla-zum-store {
        & a {
            align-items: center;
            justify-content: space-around;

            & .woocommerce-loop-product__title {
                margin-top : unset;
            }
        }
    }
}

.shopla .site-main .storefront-sorting + ul.products, .site-main .seller-items ul.products, .site-main .infinite-wrap ul.products {
    flex-wrap: wrap;
    justify-content: space-between;
}

.shopla .wc-block-grid__product .wc-block-grid__product-image, .shopla .wc-block-grid__product .wc-block-grid__product-link {
    display: block;
    position: relative
}

.shopla .wc-block-grid__products {

    justify-content : space-between;

    .wc-block-grid__product .wc-block-grid__product-title {
        font-size: 1.2rem;
        color: rgb(51, 51, 51);
    }
}

/* Hide the bottom menu */
/*header.site-header > :nth-child(2).storefront-primary-navigation {*/
/*    display: none;*/
/*}*/

/* Logo block */
.shopla .site-branding {
    margin-right: auto;
    margin-bottom: 0;
    align-self: center;
    width: unset;
}

.shopla .site-branding > a > img {
    width: 120px;
}

/* right-side nav block */

nav.secondary-navigation {
    margin: 0 !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    width: unset !important;
    display: flex;
    align-content: center !important;

    li:hover > ul {
        animation: 0.2s ease-out 0s 1 fadeInRright;
    }

    ul.sub-menu {
        display: none;
        right: 0;
        left: unset !important;
        font-family: "Source Sans Pro" !important;
        border: 1px solid darkgrey;
        border-radius: 16px;
        overflow: hidden;
        background-color: white;
        padding: 0.5em;

        .menu-item {
            margin: 0.75em;

            &.login a, &.logout a {
                color: white;
                background-color: var(--shopla-resolution-blue);
           }
        }

        .menu-item a {
            cursor: pointer;
            border-radius: 100px;
            border: 1px solid var(--shopla-resolution-blue);
            display: flex;
            height: 40px;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            padding: unset;
            text-decoration: none;
            font-weight: 600;
            text-shadow: none;

            &:hover {
                background-color: var(--shopla-red);
                color: white;
            }
        }
    }
}

div.menu-user-menu-container {
    display: flex;
    height: 100%;
}

ul#menu-user-menu {
    display: flex;
    list-style-type: none;
}

#menu-user-menu > li {
    height: 100%;
    align-content: center;
    margin-inline: 10px;

    > a {
        font-size: 0;
    }

    > a::before {
        font-family: 'Material Symbols Outlined';
        font-size: 32px;
        font-weight: normal;
        font-style: normal;
        display: inline-block;
        line-height: 1;
        text-decoration: none;
        color: inherit;
        font-feature-settings: 'liga';
        -webkit-font-feature-settings: 'liga';
        -webkit-font-smoothing: antialiased;
    }
}

.localization > a::before {
  content: 'language';
  cursor: pointer;
}

.store_list_link > a::before {
  content: 'storefront';
}

.my_account_link > a::before {
  content: 'account_circle';
}

.shopla.woocommerce-active .site-header .site-search {
    width: 100%;
    border-radius: 30px;
    overflow: hidden;
    margin-right: 30px;
    margin-left: 30px;
    margin-bottom: 0;
}

div.widget.woocommerce.widget_product_search {
    height: 100%;
}

form.woocommerce-product-search {
    display: flex;
    height: 100%;

    .search-icon, .locate-icon {
        display: block;
        align-content: center;
        padding-left: 16px;
        padding-right: 16px;
    }

    .locate-icon {
        cursor: pointer;
    }

}

.shopla #primary #dokan-seller-listing-wrap .store-wrapper {
    box-shadow:none;
    border-width: 1px;
    border-radius: 8px;
    border-style: solid;
    border-color: #f2f2f2;
    overflow: hidden;
}

.shopla #primary #dokan-seller-listing-wrap .store-wrapper:hover {
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1), 0 3px 10px 0 rgba(0, 0, 0, 0.1);
}

.shopla #dokan-seller-listing-wrap.grid-view .store-content {
    background: unset;
}

#primary #dokan-store-listing-filter-wrap {
    box-shadow: none;
}

.shopla #primary .dokan-btn-theme {
    border-color: rgb(0, 29, 112)  !important;
    background-color: rgb(0, 29, 112)  !important;
}

.shopla #primary .dokan-btn-theme:hover {
    border-color: rgb(254, 58, 46)  !important;
    background-color: rgb(254, 58, 46)  !important;
}


.shopla .dokan-single-store {
    
    margin: 0 !important;
    width: 100% !important;

    .profile-frame {
        border-width: 1px;
        border-radius: 16px;
        border-style: solid;
        border-color: #f2f2f2;
    }
    
    .profile-info-head .profile-img.profile-img-circle img {
        box-shadow: 0px 0px 30px -6px #afafaf;
    }
}



/* Map changes */
.mapboxgl-ctrl-top-right {
    top: unset !important;
    bottom: 30px !important;
}

.mapboxgl-ctrl {
  &.mapboxgl-ctrl-attrib.mapboxgl-compact {
    display: none;
  }
}

/* Menu styling */
@media screen and (max-width: 768px) {
  div.wp-block-woocommerce-product-categories {
      display: block;
      clear: both;
  }

  .storefront-primary-navigation {
      display: block;
  }

}

@media screen and (min-width: 768px) {
  #secondary-deactivate .wc-block-product-categories-list-item {
    position: relative;
  }

  #secondary .wp-block-woocommerce-product-categories > .wc-block-product-categories-list > .wc-block-product-categories-list-item:not(.all-cat) {
    .wc-block-product-categories-list {
      display: none;
    }
  }

  #secondary-deactivate .wc-block-product-categories-list > .wc-block-product-categories-list-item.menu-item-has-children:hover > .wc-block-product-categories-list.sub-menu {
    display: block;
    top: 0;
    left: 100%;
    position: absolute;
    width: max-content;
    background-color: #eeeeee;
    min-width: 100%;
  }

  .all-cat .wc-block-product-categories-list-item {
    &:not(:has(.current-cat)):not(.current-cat):not(.current-cat > ul > li) {
      display: none;
    }

    &.current-cat > ul > li > a::after {
      content: none;
    }

  }

  .all-cat:has(> ul) a::after {
    transform: rotate(90deg);
  }

  .wc-block-product-categories-list-item:not(.current-cat) > ul {
    margin-left: unset;
  }

  .shopla header.site-header {
      top: -36px;
  }

  .storefront-primary-navigation {
      display: none;
  }

  .site-main ul.products {
    column-gap: 16px;

  }
}

ul.wc-block-product-categories-list > li {
    width: 100%;
}

ul.wc-block-product-categories-list > li > a {
    display: flex;
    color: var(--shopla-co-mine-shaft, #333);
    text-decoration: none !important;
    border-bottom: 1px solid #e5e5e5;
    padding-block: 12px;
    padding-left: 12px;
    align-items: center;
    width: 100%;
}

ul.wc-block-product-categories-list > li > a:hover {
    background-color: #eeeeee;
}

.wp-block-woocommerce-product-categories ul > li.menu-item-has-children > :nth-last-child(2) {

  &::after {
    font-family: 'Material Symbols Outlined';
    content: '\e5cc';
    font-weight: 500;
    font-size: 30px;
    line-height: 32px;
  }

  &.toggled-on::after {
    transform: rotate(90deg);
  }
}

span.wc-block-product-categories-list-item-count {
    display: none
}

span.wc-block-product-categories-list-item__name {
    margin-right: auto;
    font-family: "Source Sans Pro";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 26px;
}

.wp-block-woocommerce-product-categories li.current-cat > a > span {
  font-weight: bold;
}

.slider-wrapper {
    position: relative;
    overflow: hidden;
}

ul.slides-container {
    list-style: none;
    margin: 0;
    padding: 0;
    overflow: scroll;
    scroll-behavior: smooth;
    position:relative;
    height:410px;
    z-index:0;

    li.slide {
        position:absolute;
        top:0;
        left:0;
        width: 100%;
        height: 410px;
        opacity: 1;
        transition : opacity 3s;
        z-index:1;
    }

    li.slide:not(:first-child) {
        opacity: 0;
        z-index: 0;
    }
}

.slide-arrow {
    z-index: 1;
    position: absolute;
    display: flex;
    top: 0;
    bottom: 0;
    margin: auto;
    height: 4rem;
    line-height: 3.5rem;
    background-color: white;
    border: none;
    width: 2rem;
    font-size: 3rem;
    padding: 0;
    cursor: pointer;
    opacity: 0.7;
    transition: opacity 100ms;
    > .material-symbols-outlined {
      align-content: center
    }
  }

.slide-arrow:hover,
.slide-arrow:focus {
  opacity: 1;
}

#slide-arrow-prev {
  left: 0;
  padding-left: 0.25rem;
  border-radius: 0 2rem 2rem 0;
}

#slide-arrow-next {
  right: 0;
  padding-left: 0.75rem;
  border-radius: 2rem 0 0 2rem;
}

.slides-container {
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none;  /* Internet Explorer 10+ */
}
/* WebKit */
.slides-container::-webkit-scrollbar {
    width: 0;
    height: 0;
}

img.header-store-img {
    object-fit:cover;
    width: 100%;
    height: 100%;
}

div.products-grouped-by-store-header {
    padding-top: 32px;
    margin-bottom: 32px;
}

.site-main div.products-grouped-by-store ul.products {
  column-gap: 16px
}

@media screen and (max-width: 768px) {

    div.products-grouped-by-store-header {
        width : 100%;
    }

}

div.products-grouped-by-store-products {
    position: relative;
}

@media screen and (max-width: 768px) {
  #shopla-header-map {
    margin-bottom: 0;
  }

  div.products-grouped-by-store-products {
      margin-right: -5vw;
      margin-left: -5vw;
  }
}

div.products-grouped-by-store-products-core {
    overflow-x: scroll;   
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: 0;
}

div.products-grouped-by-store-products-core::-webkit-scrollbar {
    display: none;
}

div.products-grouped-by-store-fade {
    position : absolute;
    cursor: pointer;
    width: 21.25%;
    height: 100%;
    top: 0px;
}

div.products-grouped-by-store-fade.left {
    left: 0px;
}

div.products-grouped-by-store-fade.right {
    right: 0px;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, white);
    background-clip: content-box;
}

@media screen and (max-width: 768px) {
    div.products-grouped-by-store-fade.right {
        right: 0px;
        background: none; 
        background-clip: unset;
        display: none; 
    }

    div.products-grouped-by-store-fade.left {
        display: none; 
    }
}

div.products-grouped-by-store-line {
    border-top: 1px solid #e5e5e5;

    > div.store-avatar {
        margin-top: -33px
    }
}

div.store-header-line {
    border-top: 1px solid #e5e5e5;
    margin-bottom: 15px;
}

div.store-header-title {
    display:flex;
    align-items: flex-end;
    flex-basis:content;
    column-gap : 20px;
}

div.store-avatar img {
    border-radius: 50%;
    background: #fff;
    width: 66px;
    height: 66px;
    object-fit: cover;
    max-height: 100%;
    margin-left: auto;
    margin-right: auto;
    border: 1px solid #e5e5e5;
    padding: 2px;
    transition: transform .2s;
}

div.seller-avatar img{
  object-fit: cover;
}

div.store-avatar > a > img:hover, div.merchant-header:has(.shopla-store-name:hover) div.store-avatar > a > img {
    transform: scale(1.2);
}

div.store-avatar.header-store-avatar {
    width: 56px;
    height: 56px;
}

div.merchant-header-wrapper {
    position: sticky;
    top:var(--shopla-header-height);
    z-index:1400;
}

div.merchant-header {
    display: flex;
    align-items: center;
    column-gap: 20px;
    margin-top: 5px;
    height: 56px;
    border-bottom-left-radius: 28px;
    border-top-left-radius: 28px;
    background: rgba(255, 255, 255, 0.70);

    & h1 {
        font-size: 24px !important;
        margin:0;
    }
}

div.store-social-wrapper h1 {
    font-size: 35px !important;
}

.site-main {
    position: relative !important;
}

.shopla-profile-frame-wrapper {
    position: relative;
    color: #444;
    margin-bottom: 40px;
    margin-left: 0px;
    margin-right: 0px;

}

h1.shopla-store-name {
    white-space: nowrap;
}

h1.shopla-store-name a {
    color: inherit;
}

.merchant-header {
    text-align: left;
    align-content: center;

    li {
        display: inline-block;
    }

    address {
        margin:0;
    }

    
    & .shopla-chat-menu-item {
        cursor: pointer;
    }
}


ul.dokan-store-info {
    position: relative;
    margin: 0 0;
    top: 0;
    display: flex;
    flex-wrap: wrap;
    column-gap: 10px;
    overflow-x: visible;

    li.with-hidable-elements {
        flex-wrap: wrap;
        max-height: 1.618em;
    }

    li {
        flex-wrap: nowrap;
        white-space: nowrap;
        display: flex;
        align-items: center;
        height: 1.618em;
        text-align: left;
        
        i {
            text-align: left;
            min-width: 23px;

        }

        svg {
            margin-bottom: -5px;
            margin-left: 5px;
            margin-right: 3px;

            & > g {
                fill : var(--shopla-menu-text-color);
            } 
        }

        a {
            color: inherit;
        }

        .dokan-times {
            margin-left: 5px;
        }

        .store-open-close-notice {
            justify-content: center;

            #vendor-store-times {
                left: calc(50% - 155px) !important;
            }
        }
    }
}

@media screen and (min-width: 768px) {
    ul.dokan-store-info li span.store-notice:hover + div.store-open-close-notice > #vendor-store-times {
        display:block;
    }
}

.dokan-store-info {

    position: relative;
    list-style: none;

    .dokan-store-address {
        span.country {
            display : none;
        }

        span.state {
            display : none;
        }
    }

    .dokan-store-phone,
    .dokan-store-email {
        a {
            text-decoration: none;
            color: inherit;
        }
    }

    span.fa-angle-down {
        margin-left: 10px;
    }

    .dokan-store-open-close {
        cursor: pointer;

        .store-open-close-notice {
            display: flex;
            align-items: center;
            position: relative;
            z-index: 1;

            .store-notice {
                min-width: 96px;
            }

            #vendor-store-times {
                top: 30px;
                left: -20%;
                color: #3E474F;
                width: 310px;
                z-index: 1;
                display: none;
                padding: 1.5em 2em;
                overflow: auto;
                position: absolute;
                max-height: 435px;
                background: #fff;
                box-shadow: 0 10px 15px -3px #00000040, 0 4px 6px -4px #00000010;
                border-radius: 6px;

                .store-times-heading {
                    margin: 0 0 25px;
                    display: flex;
                    align-items: center;
                    justify-content: center;

                    i.fa-calendar-day {
                        width: 30px;
                        margin: 0 10px 0 -10px;
                        height: 30px;
                        border: 1px solid #CBD9DC;
                        display: flex;
                        align-items: center;
                        border-radius: 50%;
                        justify-content: center;
                    }

                    h4 {
                        font-size: 20px;
                        font-weight: 700;
                        margin-bottom: 0;
                    }
                }

                span {
                    margin-left: 10px;
                }

                .store-time-tags {
                    display: flex;
                    font-size: 15px;
                    margin-bottom: 12px;

                    .store-days {
                        flex: 2.3;
                        text-align: right;
                    }

                    .current_day,
                    .current_time {
                        font-weight: 700;
                    }

                    .store-times {
                        flex: 4;

                        .store-open,
                        .store-close {
                            display: inline-block;
                            transition: 0.5s ease;
                            list-style: none;
                            text-decoration: none;
                        }

                        .store-close {
                            color: #D07272;
                            background-color: #F8E8E7;
                            text-align: center;
                            padding: 1px 12px;
                            border-radius: 10px;
                        }
                    }

                    &:last-child {
                        margin-bottom: 0;
                    }
                }

                &::-webkit-scrollbar {
                    width: 10px;
                }

                &::-webkit-scrollbar-thumb {
                    background: #8d9399;
                    border-radius: 5px;
                }

                &::-webkit-scrollbar-thumb:hover {
                    background: #555;
                }

                &:hover {
                    display: block;
                }
            }

            &:hover {
                #vendor-store-times {
                    display: block;
                }

                span.fa-angle-down {
                    &:after {
                        content: "";
                        top: 75%;
                        right: 44%;
                        width: 25px;
                        height: 40px;
                        z-index: 1;
                        position: absolute;
                        transform: rotate(45deg);
                        border-radius: 5px;
                        background-color: #fff;
                    }
                }
            }
        }
    }
}

.shopla .site-search {
    margin-left: 0 !important;
}

.mapboxgl-ctrl-attrib-inner {
    display: none !important;
}

@media(min-width: 768px) {
    .site-header-cart .widget_shopping_cart {
        display: none;
    }

    .site-header-cart:hover .widget_shopping_cart {
        display: block;
        animation: 0.2s ease-out 0s 1 fadeInRright;
    }
}


.site-header-cart {
    width: 32px !important;
    display: flex;
    align-items: center;
    margin-inline: 10px;

    .cart-contents {
      padding: 1em 1em;
    }
}

ul#site-header-cart > li:first-of-type {
    height: 100%;
    display: flex;
    align-items: center;
}

a.cart-contents {
    padding: 0 !important;
    width: 32px !important;
    height: 32px !important;
}

.site-header-cart a.cart-contents:after {
  font-family: 'Material Symbols Outlined';
  font-size: 32px;
  font-weight: normal;
  font-style: normal;
  display: inline-block;
  line-height: 1;
  text-decoration: none;
  color: inherit;
  font-feature-settings: 'liga';
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
  content: "local_mall";
  height: unset;
}

a.cart-contents > span.woocommerce-Price-amount.amount {
    display: none;
}

a.cart-contents > span.count {
    display: none;
}

div.widget.woocommerce.widget_shopping_cart {
    left: unset !important;
    right: 0 !important;
    width: 310px !important;
    /*display: block;*/
    font-family: "Source Sans Pro" !important;
    border: 1px solid darkgrey;
    border-radius: 16px;
    overflow: hidden;
    background-color: white;
}

.woocommerce-mini-cart-item.mini_cart_item {
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 26px;
    padding-left: 0.5em !important;
    border-bottom: 1px solid #e5e5e5;
}

li.woocommerce-mini-cart-item.mini_cart_item > a > img.attachment-woocommerce_thumbnail.size-woocommerce_thumbnail {
    width: 56px !important;
    height: 56px !important;
    max-width: unset !important;
    margin-left: 0 !important;
}

.shopla .woocommerce-mini-cart__total.total {
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 26px;
    border-bottom: 1px solid #e5e5e5;
    background-color: white
}

.shopla .woocommerce-mini-cart__buttons.buttons {
    background-color: white
}

.shopla .woocommerce-mini-cart__buttons.buttons > .button  {
    border-radius: 100px;
    border: 1px solid var(--shopla-resolution-blue);
    display: flex;
    height: 40px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    align-self: stretch;
}

.shopla .woocommerce-mini-cart__buttons.buttons > .button:hover {
    background-color: var(--shopla-red);
    color: white;
}

.shopla .woocommerce-mini-cart__buttons.buttons > .button.wc-forward {
    border-color: darkgrey;
}

.woocommerce-mini-cart__buttons.buttons > .button.wc-forward:after {
    content: "" !important;
    font-size: 0 !important;
}

.woocommerce-mini-cart__buttons.buttons > .button.checkout {
    color: white;
    background-color: var(--shopla-resolution-blue);
}

a.remove.remove_from_cart_button {
    height: 60px !important;
}

a.remove.remove_from_cart_button:before {
    height: 100% !important;
    display:  flex !important;
    align-items: center !important;
    font-family: 'Material Symbols Outlined' !important;
    content: "\e5c9" !important;
    font-weight:  200 !important;
}

ul.dokan-seller-wrap {
    display: flex !important;
    flex-wrap: wrap !important;
}

div#dokan-store-listing-filter-wrap {
    display: none;
}

li.dokan-single-seller {

}

li.dokan-single-seller > a, li.dokan-single-seller > a:hover, li.dokan-single-seller > a:visited,li.dokan-single-seller > a:active {
    color: inherit !important;
    text-decoration: none !important; 
    outline : inherit !important;
}


li.dokan-single-seller > a > div.store-wrapper > div.store-footer > div.store-data-container > div.store-data > h2 {
    text-align: center;
    margin-top: 35px;
    margin-bottom: 0;
    color: #1A1C1E;
    font-family: "Source Sans Pro";
    font-size: 16px;
    font-weight: 600;
    font-style: normal;
    line-height: 26px;
}

li.dokan-single-seller > a > div.store-wrapper > div.store-footer > div.store-data-container > div.store-data > address {
    font-style: normal;
    display:flex;
    gap: 10px;
    align-items: flex-start;
    margin-bottom: 8px;    
    justify-content: center;

    > span.store-address {
       span.state {
            display:none;
        }
        span.country {
            display:none;
        }
    }
}

li.dokan-single-seller > a > div.store-wrapper > div.store-footer > div.store-data-container > div.store-data > address > span.store-address {
    align-items: center;
    margin-top: 5px !important;
    position: relative;
}

li.dokan-single-seller > a > div.store-wrapper > div.store-footer > div.store-data-container > div.store-data > address > span.location-icon:before {
    font-family: 'Material Symbols Outlined';
    font-weight: 500;
    font-size: 24px;
    content: '\e0c8';
}

li.dokan-single-seller > a > div.store-wrapper > div.store-footer > div.store-data-container > div.store-data > p.store-phone {
    display: flex;
    align-items: center;
    text-wrap: nowrap;
    margin-bottom: 10px !important;
    padding-left: 30px;
    position: relative;
    flex-wrap: wrap;
}

li.dokan-single-seller > a > div.store-wrapper > div.store-footer > div.store-data-container > div.store-data > p.store-phone:before {
    font-family: 'Material Symbols Outlined';
    font-weight: 500;
    font-size: 24px;
    content: '\e0b0';
    margin-right: 10px;
    position: absolute;
    left: 0;
}

li.dokan-single-seller > a > div.store-wrapper > div.store-footer > div.store-data-container > div.store-data > p.store-phone > i {
    display: none !important;
}

li.dokan-single-seller > a > div.store-wrapper > div.store-footer > div.seller-avatar {
    top: -40px !important;
    left: 0;
    right: 0 !important;
    margin-left: auto;
    margin-right: auto;
}

/* Special styling for static pages imported from Hubspot */
html#hubspot div#content div.col-full {
    margin: 0px;
    padding: 0px;
    max-width: unset;
}

html#hubspot div#content .kl-hero-02__image img {
    width: 100%;
}

/* Social login styling */
form.woocommerce-form.woocommerce-form-login.login, form.woocommerce-form.woocommerce-form-register.register, .chat-login form.woocommerce-form.woocommerce-form-login.login, .chat-login form.woocommerce-form.woocommerce-form-register.register  {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-top: 24px;
    max-width: 800px;
    width: 100%;
    min-width: unset;
}

.woocommerce-privacy-policy-text {
    max-width: 800px;
}

form.woocommerce-form.woocommerce-form-login.login .woocommerce-form-login__submit, form.woocommerce-form.woocommerce-form-register.register .woocommerce-form-register__submit{
    width: 100%
}

/* Horizontal auth/login form */
@media(min-width: 768px) {
    form.woocommerce-form.woocommerce-form-login.login, form.woocommerce-form.woocommerce-form-register.register {
        flex-direction:row;
        margin-top: 32px;
        min-width: 600px
    }
}

.auth-form__separator {
    align-items: center;
    display: flex;
    justify-content: center;
    margin: 20px 0;
    position: relative;
    width: 100%
}

.auth-form__separator:after,.auth-form__separator:before {
    border-block-start:1px solid #eaeaeb;border-inline-start:0;content: "";
    height: 0;
    inset-block-start: 50%;
    inset-inline-start: 0;
    position: absolute;
    width: 42%;
    z-index: 1
}

.auth-form__separator:after {
    left: 58%
}

.auth-form__separator .auth-form__separator-text {
    color: var(--studio-gray-50);
    font-size: .75rem;
    padding: 0 24px;
    text-align: center;
    text-transform: uppercase;
    z-index: 1
}

.card.login__form, .card.auth-form__social {
    margin: 0;
    max-width: var(--login-form-column-max-width);
    width: 100%
}

/* Vertical separator on large screens */
@media (min-width: 768px) {

    .auth-form__separator {
        margin-left: 40px;
        margin-right: 40px;
        width: 24px;
    }

    .auth-form__separator:after, .auth-form__separator:before {
        border-block-start: 0;
        border-inline-start: 1px solid #eaeaeb;
        height: 40%;
        inset-block-start: 0;
        inset-inline-start: 50%;
    }

    .auth-form__separator:after {
        top: 60%;
    }

}

auth-form__social.is-login {
    margin-bottom: 0
}

.auth-form__social.is-login .auth-form__social-buttons-container {
    display: flex;
    flex-direction: column;
    gap: 10px
}

.auth-form__social.is-login.is-social-first {
    padding: 0 0 0 1px
}

.auth-form__social.is-login.is-social-first .auth-form__social-buttons {
    display: flex;
    flex-direction: column;
    height: 100%
}

.auth-form__social.is-login.is-social-first .auth-form__social-buttons .auth-form__social-buttons-container {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
    height: 100%;
    justify-content: center
}

.social-buttons__button {
    align-items: center;
    align-self: stretch;
    display: flex;
    height: 40px;
    justify-content: center;
    margin-bottom: 0;
    padding: 4px 16px
}

.social-buttons__button>.social-icons {
    border: 0;
    border-radius: 0;
    margin-right: auto
}


.social-buttons__button span {
    margin-right: auto;
    max-width: 240px;
    text-align: center
}

.shopla-footer-qa {
    background-color: #fcfafa;
    padding-top: 1.618em;
    padding-bottom: 1.618em;
}

.shopla-content-toggle--btn {
    color: inherit;
    font: inherit;
    cursor: pointer;
    text-align: left;
    -webkit-tap-highlight-color: #0000;
    -webkit-appearance: none;
    background: 0 0;
    border: none;
    outline: none;
    font-size: 16px;
    text-decoration: none;
    padding: 0;
}

.shopla-content-toggle--btn .shopla-content-toggle--btn__icon {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 24 24%22 aria-hidden%3D%22true%22 focusable%3D%22false%22%3E%3Cpath fill%3D%22var%28--clg-color-sem-text-primary, %23222222%29%22 d%3D%22M12,15.414L7.293,10.707A1,1,0,1,1,8.707,9.293L12,12.586l3.293-3.293a1,1,0,0,1,1.414,1.414Z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-size: cover;
    width: 24px;
    min-width: 24px;
    height: 24px;
    margin-left: 6px;
    transition: transform .2s ease-in;
    display: inline-block;
    position: relative;
}

.shopla-content-toggle--truncated-inline-multi .shopla-content-toggle__trigger-wrapper {
    flex-grow: 0;
    order: 1;
    place-content: flex-end;
    align-self: flex-end;
    height: 1em;
    display: flex;
    position: relative;
    overflow: visible;
    margin-bottom: 12px;
}

.shopla-content-toggle--truncated-inline-multi {
    flex-direction: row;
    display: flex;
    justify-content: space-between;
}

.shopla-screen-reader-only {
    clip: rect(0 0 0 0) !important;
    border: 0 !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    position: absolute !important;
    overflow: hidden !important;
}

p.shopla-text-truncate--multi-line {
    margin: 0;
}

input.toggle[type='checkbox'][type='checkbox'] {
    display: none;
}

input.toggle[type='checkbox']:not(:checked) ~ p.shopla-text-truncate--multi-line {
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    margin: 0;
    display: -webkit-box;
    overflow: hidden;
}

input.toggle[type='checkbox']:checked ~ label.shopla-content-toggle__trigger-wrapper .shopla-content-toggle--btn__icon {
    transform: rotate(-180deg);
}

@media only screen and (min-width: 640px) {
    .wt-text-title-large {
        letter-spacing: .09505px;
        font-family: Graphik Webfont, -apple-system, Helvetica Neue, Droid Sans, Arial, "sans-serif";
        font-size: 19.01px;
        font-weight: 500;
        line-height: 1.4;
    }
}

.wt-text-title-large {
    letter-spacing: .09px;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.35;
}

@media only screen and (min-width: 0) {
    .wt-mb-xs-6 {
        margin-bottom: 36px !important;
    }
}


@media only screen and (min-width: 640px) {
    .wt-text-heading-large {
        letter-spacing: 0;
        font-size: 42px;
        font-weight: 300;
        line-height: 1.1;
    }
}

.wt-text-heading-large {
    letter-spacing: 0;
    font-size: 31.01px;
    font-weight: 300;
    line-height: 1.1;
}

@media only screen and (min-width: 0) {
    .wt-text-center-xs {
        text-align: center !important;
    }
}

.shopla footer.site-footer {
    padding-top: 0;

    > .col-full {
        padding-top: 1.618em;
    }
}

#colophon .content-area {
    width: 100%;
}

.product-strip-arrow {
    z-index: 1;
    position: absolute;
    top: 35%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: inline-flex;
    bottom: 0;
    width: 3rem;
    height: 3rem;
    background-color: rgb(249, 248, 246, 0.6);
    border: none;
    font-size: 7rem;
    padding: 0;
    cursor: pointer;
    justify-content: space-around;
    border-radius: 50%;
    vertical-align: middle;
    border-style: solid;
    border-color:#e6e6e6;
    color: #afafaf;
    box-shadow: inset 0 0 0 0.05rem #928b80;
    transition: 
        opacity 100ms,
        box-shadow 0.2s cubic-bezier(0.15, 0, 0.15, 0),
        background-color 0.2s cubic-bezier(0.15, 0, 0.15, 0),
        color 0.2s cubic-bezier(0.15, 0, 0.15, 0),
        fill 0.2s cubic-bezier(0.15, 0, 0.15, 0);

    & svg {
        opacity: 30%;
        transition: opacity 100ms;
    }
  }

.product-strip-arrow:hover,
.product-strip-arrow:focus,
.products-grouped-by-store-fade:hover .product-strip-arrow {
  background-color: rgb(238, 238, 238);
  box-shadow: inset 0 0 0 0.15rem #4e4d49, 0 0.2rem 0.2rem 0 rgba(12, 11, 8, 0.2);
  color: #4e4d49;

  & svg {
    opacity: 80%;
  }
}

.shopla .shopla-modal-content-center, .shopla .shopla-login-register  {
    display: flex;
    flex-direction: column;
    align-items: center
}

/* Add Animation */
@keyframes animatetop {
  from {top: -300px; opacity: 0}
  to {top: 160px; opacity: 1}
}

@keyframes animatebottom {
    from {bottom: -300px; opacity: 0}
    to {bottom: 0px; opacity: 1}
  }

.modal {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 10000; /* Sit on top */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgb(0,0,0); /* Fallback color */
  background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}

/* Modal Content/Box */
.shopla .modal-content.col-full {
  position: fixed;
  box-sizing: border-box;
  top: 160px;
  background-color: #fefefe;
  padding: 20px;
  border: 1px solid #888;
  animation-name: animatetop;
  animation-duration: 0.4s;
  border-radius: 16px;
  max-width: 800px;
}
.shopla .modal-content {
    .woocommerce-message, .woocommerce-info, .woocommerce-error {
        margin: unset
    }
}

.close {
  position: absolute;
  right: 0;
  top: 0;
  padding: 12px;
  margin: 8px;
  color: #aaa;
  font-weight: bold;
  border-radius: 50%
}

.close:hover,
.close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
  background-color: rgb(140 140 140 / .1);
}

#shopla-price-request-form {
    width: 100%;
}

textarea.price-request {
    resize: none
}

.shopla-price-request:has(~ .shopla-login) {
    display: none;
}

#shopla-language-switcher {
  text-align: center;
}
@media(min-width: 768px) {
  #shopla-lang-switcher-modal > div.col-full.modal-content {
    max-width: 360px;
  }
}

.shopla table.shopla-fulfillment {
    border-radius: 16px;
    border: 1px solid #e5e5e5;
    overflow: hidden;

    tr.fulfillment-option {
        display: flex;
        align-items: center;
        td {
            vertical-align: middle;
            width: 100%;
            padding: 0;
            background-color: unset !important;
            div {
                display: flex;
                gap: 8px;
            }
            .target-area {
                color: unset;
                padding: 12px;
                width: 100%;
                display: block;
                cursor: pointer;
                &.disabled {
                    opacity: 0.5;
                    cursor: not-allowed;
                    &:active {
                        pointer-events: none;
                    }
                }
            }
        }
        td.fulfillment-selection {
            width: 32px;
            padding: 12px;
        }
        &:has(+.fulfillment-option, +.fulfillment-action) {
            border-bottom: 1px solid #e5e5e5;
        }
        .fulfillment-button {
            width: 100%;
        }
    }

    tr.fulfillment-option:hover {
        background-color: #e5e5e5 !important;
    }

    .fulfillment-desc {
        font-size: .875em
    }

    .shopla-status {
        background-color: grey;
        height: 8px;
        width: 8px;
        border-radius: 50%;
        margin: 8px;
        flex-shrink: 0;
        &.available {
            background-color: green;
        }
        &.unavailable {
            background-color: red;
        }
    }

}

.shopla table.shopla-fulfillment, .shopla div.merchant-chat {

    .button.alt {
        margin:0;
        width: 100%;
        border-radius: 100px;
        border: 1px solid;
        background-color: var(--shopla-resolution-blue);
        display: flex;
        height: 40px;
        flex-direction: row;
        justify-content: center;
        gap: 8px;
        align-items: center;
        &:hover {
            background-color: var(--shopla-red);
        }
    }
}

.shopla table.cart:has(+*) {
    border-radius: 16px;
    border: 1px solid #e5e5e5;
    overflow: hidden;
    th, td {
        padding: 16px;
    }

    td.product-remove {
        vertical-align: middle;
        a.remove {
            top: 0;
            right: 0;
        }
    }
}


.shopla .cart-collaterals {
    table {
        border-radius: 16px;
        border: 1px solid #e5e5e5;
        overflow: hidden;
    }
    .button.checkout-button {
        font-size: 100%;
        border-radius: 100px;
        border: 1px solid var(--shopla-resolution-blue);
        background-color: var(--shopla-resolution-blue);
        color: white;
        &:hover {
            background-color: var(--shopla-red);
        }
    }
}

.shopla table.cart .actions .button {
    border-radius: 100px;
    border: 1px solid #e5e5e5;
    &:hover {
        background-color: var(--shopla-red);
        color: white;
    }
}

div.merchant-chat {
    position: fixed;
    bottom : 0px;
    left:0px;
    width: 100%;
    line-height: normal;
    display: none;
    pointer-events: none;
    z-index:10001;
    
    & .chat-pannel {
        width:400px;
        margin-left: auto;
        border-bottom-left-radius:0px;
        border-bottom-right-radius:0px;
        padding:15px; 
        pointer-events: initial;

        & .chat-main {
            display:flex;
            flex-direction: column;
            row-gap: 30px;

            & .chat-author {
                display: none;
            }
            
            & .chat-avatar {
                border-top-left-radius:inherit;
                border-top-right-radius:inherit;
                display: flex;
                flex-direction: row;
                row-gap: 20px;
                align-items: center;
                column-gap:15px;
                color: #202223;
    
                & .store-avatar img {
                    width: 48px;
                    height: 48px;
                }
    
                & h1 {
                    color: #202223;
                    font-size: 25px;
                    margin:0;
                }
            }
    
            & .chat-introduction {
    
                line-height: unset;
                
                
                & h2 {
                    font-size: 20px;
                }
    
                & p {
                    margin:0;
                    background-color: var(--shopla-cerulean-blue);
                    border-radius: 10px;
                    border-top-left-radius:0;
                    color: white;
                    padding:10px;
                }
        
            }
    
            & .chat-body {

                & > form {
                    display:flex;
                    flex-direction: column;
                    row-gap: 15px;
                    margin-bottom: 0;
            
                    & h3 {
                        color: #202223;
                        font-size: 1em;
                        font-weight: 600;
                        margin: 8px auto 16px;
                        text-align: center;
                    }

                    & .frequent-questions-title {
                        text-align: center;
                    }
            
                    & button.frequent-questions {
                        margin-top:6px !important;
                        background-color: var(--shopla-cerulean-blue);
                    }

                    & button.send-message {
                        background: none;
                        border: none;
                        outline: none; 
                    }
            
                    & div.chatfield {
                        position: relative;
                        border: 1px solid #d2d5d9;
                        border-radius: 8px;
                        box-shadow: none;
                        display: flex;
                        flex-direction: row;
                        min-height: 44px;
                        box-shadow: inset 0 1px 1px rgba(0, 0, 0, .125);

                        & > .loader{
                            position: absolute;
                            display: none;
                            top:0px;
                            right:0px;
                            width:100%;
                            height:100%;
                            background-color:#eceaea;
                            background-image:url('/wp-content/uploads/loading-gif.gif');
                            background-size: 40px;
                            background-repeat:no-repeat;
                            background-position:center;
                            z-index:10000000;
                            opacity: 0.4;
                            filter: alpha(opacity=40);
                        }        
                    }
            
                    & textarea {
                        border: 0;
                        border-top-left-radius: 8px;
                        border-bottom-left-radius: 8px;
                        background-color: field;
                        color: #4b5158;
                        flex-grow: 1;
                        outline: none;
                        overflow: hidden auto;
                        overflow: hidden;
                        padding: 12px;
                        resize: none;
                    }
                }
            }
        }
    }
}

@media screen and (max-width: 768px) {

    div.merchant-chat {

        animation-name: animatebottom;
        animation-duration: 0.4s;
        max-height: 100vh;
        overflow-y: scroll;

        & .col-full {
            padding-left: 0;
            padding-right: 0;
        }
        
        & .chat-pannel {

            width: 100%;
            background-color: white;

            & .chat-author {
                display: block;
                margin-bottom: 10px;
            }
    
            & .chat-avatar {

                display: none;

            }
        }

        
    }

}

.shopla div.forminator-guttenberg {
    max-width: 800px;
    margin-top:40px;
    margin-left: auto;
    margin-right: auto;
}

.forminator-field h2.forminator-title {
    font-size: 1.5em !important;
    font-weight: normal !important;
}

.forminator-field h3.forminator-subtitle {
    font-size: 1em !important;
    font-weight: normal !important;
}

.forminator-pagination-steps {
    margin : 0 0 40px !important;
}

.shopla-video-max-width {
    max-width: calc(1.77 * 66vh);
    margin-left: auto !important;
    margin-right: auto !important;

    & iframe {
        border: none;
    }
}

/* Pricing page */

.shopla .kl-pricing {
    display: grid;
    grid-column-gap: 1.5rem;
    grid-row-gap: 16px;
    grid-template-rows: auto 1fr;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    width: auto;
    max-width: none;

    @media(max-width: 768px) {
        grid-template-columns: 1fr;
    }

    @media(min-width: 1024px) {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }

    .kl-pricing__card {
        display: flex;
        flex-direction: column;
        margin-left: unset;
        padding: 2rem 1.3rem;
        height: 100%;
        hyphens: auto;
        margin: 0 0 0;

        .kl-pricing__features {
            margin: 0 0 0;
        }

        .kl-pricing__price {
            text-align: left;
            text-transform: uppercase;
            font-size: 0.9rem;
            margin: 1.2rem 0 1rem
        }

        .material-symbols-outlined {
            color: #8098F9;
            font-weight: bold;
        }

        hr {
            background-color: #d1d6e5;
            color: #d1d6e5;
            height: 1px;
            margin: 1rem 0;
        }

        .pricing__br {
            flex-grow: 1;
        }
    }
}

