/*
*  Everthing in here is to be moved to approriate v2-[name].less files
*/
/* LAYOUT */
#html-body[class*="page-layout-2columns_left_"] .column.main {
  text-align: left;
  padding: 0;
  margin: 0;
}

@media (min-width: 770px) {
  #html-body[class*="page-layout-2columns_left_"] .sidebar-main,
  #html-body.page-layout-2columns-left .sidebar-main {
    width: 27%;
    float: left;
    padding-right: 16px;
  }

  #html-body[class*="page-layout-2columns_left_"] .column.main,
  #html-body.page-layout-2columns-left .column.main {
    width: 72%;
    float: right;
    padding-left: 0;
  }
}

@media (min-width: 1025px) {
  #html-body[class*="page-layout-2columns_left_"] .sidebar-main,
  #html-body.page-layout-2columns-left .sidebar-main {
    width: 21%;
  }

  #html-body[class*="page-layout-2columns_left_"] .column.main,
  #html-body.page-layout-2columns-left .column.main {
    width: 78%;
  }
}

#html-body .block-static-block.widget {
  margin: 0;
}

/* 404 PAGE */
#html-body.cms-no-route {
  .page-main {
    padding: 16px;
  }

  .page-title {
    margin-bottom: 16px;
  }
}

/* POSTCODE BANNER */
#html-body {
  .delivery-wrp {
    background: var(--sand);
  }

  .delivery-wrp-width {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 16px;
    max-width: 1280px;
    margin: auto;
  }

  .delivery-text {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .delivery-text-leading {
    font-weight: 400;
    display: none;
  }

  #delivery_search {
    display: flex;
    align-items: center;
    gap: 4px;
    width: 100%;
  }

  .delivery-message {
    padding: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
    position: relative;
    width: 100%;
  }

  .message-text {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .message-text::before {
    height: 24px;
    width: 24px;
    display: block;
    content: "";
  }

  .close-message {
    position: absolute;
    top: 0;
    right: 0;
    padding: 4px 8px 16px 16px;
    cursor: pointer;
  }

  .delivery-message.success {
    background-color: var(--green-mint);

    .message-text {
      color: var(--green);
    }

    .message-text::before {
      background: url('../images/checkmark-green.svg') no-repeat; 
    }
  }

  .delivery-message.error {
    background-color: var(--alert-light); 

    .message-text {
      color: var(--alert);
    }

    .message-text::before {
      background: url('../images/checkmark-error-red.svg') no-repeat; 
    }
  }

  @media (min-width: 1025px) {
    .delivery-wrp-width {
      align-items: center;
      justify-content: space-between;
      flex-direction: row;
      padding: 16px 64px;
    }

    #delivery_search {
      width: fit-content;
    }

    .delivery-message {
      min-width: 360px;
      max-width: fit-content;
    }

    .delivery-text-leading {
      font-weight: 400;
      display: inline;
    }

    &.cms-kottlador-stamkundsladan-start .delivery-wrp-width {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      padding: 16px;
    }

    &.cms-kottlador-stamkundsladan-start #delivery_search {
      width: 100%;
    }
  }
}

/* BREADCRUMBS */
#html-body {
  .breadcrumbs {
    padding: 0;
    margin-top: 0;
    margin-bottom: 0;
    display: block;
    width: 100%;
    overflow: hidden;
  }

  .breadcrumbs .items::-webkit-scrollbar {
    display: none;
  }
  
  .breadcrumbs .items {
    -ms-overflow-style: none;
    scrollbar-width: none;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 16px;
    overflow: auto;
    white-space: nowrap;
  }

  .breadcrumbs .item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
  }

  .breadcrumbs .item,
  .breadcrumbs .item a {
    font-family: "Roboto Condensed", Arial;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 130%;
  }
  
  .breadcrumbs .item::after {
    font-size: 16px;
    margin: 0;
    font-weight: 600;
  } 

  .breadcrumbs .home a {
    font-size: 0px;
  }

  .breadcrumbs .home a::before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    background: url('../images/home.svg') no-repeat; 
    background-size: contain;
  }
}

/* TOASTS / MESSAGES */
#html-body {
  .message.success {
    background-color: var(--green-mint);
    display: flex;
    align-items: center;
    gap: 16px;
    color: var(--green);
    padding: 16px;
    margin: 0;
    font-family: Georgia;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
  }

  .message.error,
  .error {
    padding: 16px;
    background: var(--alert-light);
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 16px;
    font-family: var(--georgia);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    color: var(--alert);
  }

  .error::before {
    content: '';
    display: inline-block;
    background-image: url(../images/warning-icon.svg);
    height: 24px;
    width: 24px;
    flex-shrink: 0;
  }

  .message.success::before {
    content: '';
    display: inline-block;
    background-image: url(../images/success-icon.svg);
    height: 24px;
    width: 24px;
    flex-shrink: 0;
  }

  .message.success > *:first-child:before,
  .message.error > *:first-child:before {
    display: none;
  }

  @media (min-width: 1025px) {
    .message.error,
    .error {
      font-size: 18px;
    }
  }
}

/* CHECKOUT */
.checkout-index-index .page-main {
  width: 100%;
}
.checkout-index-index .page-header .checkout-header-progress {
  display: flex;
  align-items: center;
}

#html-body.checkout-index-index .page-header .checkout-header-progress button.button-primary {
  padding: 8px 16px;
}

.checkout-index-index .page-header .checkout-header-progress span.action.back span {
  display: none;
}

.checkout-index-index .page-header .header .checkout-header-progress .opc-progress-bar {
  gap: 32px;
}

#html-body.checkout-index-index .header.content .nav-toggle {
  display: none;
}

.checkout-index-index .footer-bottom-banner {
  margin-top: 48px;
}

#html-body legend.label {
  font-family: "Roboto Condensed", Arial;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 130%;
}

@media screen and (max-width: 769px){
    #maincontent.page-main .checkout-top {
        display: none;
    }
    #html-body.checkout-index-index .checkout-continue-button {
      display: flex;
    }
}

@media screen and (min-width: 769px){
  .checkout-index-index .column.main {
    padding: 0 16px 48px 16px;
  }

  .checkout-index-index .page-header .checkout-header-progress .checkout-top {
      display: none;
  }
  #html-body.checkout-index-index .checkout-continue-button {
    display: none;
  }
}

#html-body.checkout-index-index .checkout-continue-button button {
  color: #fff;
  /* Desktop/Button or link */
  font-family: "Roboto Condensed", Arial;
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: 130%; /* 23.4px */
  letter-spacing: 0.36px;
  width: max-content;
}

#html-body.checkout-index-index .checkout-continue-button button {
    border-radius: 4px;
    background: #188833;
    padding: 8px 16px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    height: fit-content;
}

#html-body.account svg.info-white path {
    fill: black;
}


.tooltip-wrapper {
    align-self: baseline;
}

div[id^=subscription_delivery_round_box] .gs_delivery_round_box {
    padding: 0;
    /* and so on... */
}

div[id^=subscription_delivery_round_box] .gs_delivery_round_box .gs_delivery_round_content {
    max-width: inherit;
}

.dashboard-product-box.active .collapsible-box:after {
  background: url(../images/up_mob.svg) #EFF7F1 no-repeat;
}

.mgz-block.addons-slider {
  max-width: 100vw;
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.customer-dashboard-main .delivery_round_outer.fieldset:last-child {
  margin-bottom: 0px;
}

#checkout.checkout-container {
  margin-top: 24px;
}

#checkout .opc-wrapper {
  margin-top: 0;
  margin-bottom: 0;
}

#checkout #shipping,
#checkout #delivery_round_step,
#checkout #payment {
  padding: 16px;
  background: var(--white);
  border-radius: 4px;
}

#checkout #addons_step {
  padding: 16px
}

#checkout-delivery-rounds-load label {
  display: block;
  margin-bottom: 4px;
}

.checkout-index-index #maincontent .actions-toolbar .primary {
  width: 100%;
}

.fieldset > .field.required > .label:after, .fieldset > .fields > .field.required > .label:after, .fieldset > .field._required > .label:after, .fieldset > .fields > .field._required > .label:after {
  color: inherit;
}

#checkout .opc-wrapper .form-shipping-address {
  max-width: none;
}

#checkout .opc-wrapper .form-shipping-address .fieldset .field .label {
  font-weight: 600;
}

#checkout .cart-price {
  font-weight: 600;
}

#checkout .product-image-container,
#checkout .product-image-wrapper {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  height: 64px;
  width: 64px;
  flex-shrink: 0;

  img {
    object-fit: cover;
    height: 100%;
  }
}

#checkout .customer-email-note {
  font-family: var(--georgia);
  margin-top: 4px;
  margin-bottom: 16px;
}

#checkout .product-subtotal-qty-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#checkout .qty-wrapper span.value {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  background: #FFFFFF;
  border: 1px solid #F1F1F1;
  border-radius: 4px;
  font-family: 'Roboto Condensed', sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #000000;
}

#checkout .product-subtotal-qty-row .gs-qty-control {
  height: fit-content;
}

#checkout .gs-qty-control .qty-wrapper {
  display: flex;
  gap: 4px;
}

#checkout .minicart-items-wrapper .product-item {
  padding: 16px 0;
  border-bottom: 1px solid var(--gray-light);
}

#checkout .step-title {
  padding: 0;
}

#checkout .product-item-inner {
  margin: 0;
}

#checkout .opc-sidebar .opc-block-summary .table-totals .grand .amount,
#checkout .opc-sidebar .opc-block-summary .table-totals .grand .mark {
  padding-top: 8px;
  font-weight: 600;
}

#html-body.checkout-index-index .header.content {
  min-height: 63px;
  padding: 8px 16px;
}

#checkout .items-in-cart {
  margin: 0;
}

#html-body #checkout .action.primary {
  font-size: 18px;
}

#html-body #checkout .action.primary.add-addon {
  padding: 8px;
  width: 100%;
  margin-top: 16px;
}

#checkout .stripe-checkout-icon-container span {
  display: flex;
  gap: 8px;
}

#html-body .field.choice {
  border: unset;
}

#checkout .billing-address-details {
  font-size: 18px;
  font-family: var(--georgia);
}

#html-body.checkout-index-index .discount-code > .payment-option-title .action-toggle span {
  font-family: var(--roboto);
  font-size: 18px;
  font-weight: 600;
  line-height: 130%;
  letter-spacing: 0.36px;
  color: var(--green-light);
}

#html-body.checkout-index-index .discount-code > .payment-option-title .action-toggle::after {
  display: none;
}

#checkout .checkout-agreements.field.choice.required label.label {
  font-weight: 400;
  font-size: 18px;
}

#checkout .checkout-back-button {
  margin-bottom: 24px;
}

#checkout fieldset.field {
  margin-bottom: 20px;
}

#billogram-checkout-modal {
  margin: 16px 0;
}

#html-body #maincontent .billing-address-same-as-shipping-block {
  margin-bottom: 8px;
}

#html-body #maincontent .checkout-billing-address .primary {
  flex-direction: row-reverse;
}

#html-body #maincontent .checkout-billing-address .action-cancel {
  background-color: var(--gray);
}

#html-body.checkout-index-index .col-addon-item {
  box-shadow: 0 2px 4px 0 rgba(74, 66, 53, 0.08);
}

#html-body.checkout-index-index .modal-popup .col-addon-item {
  box-shadow: none;
}

#html-body.checkout-index-index .gs-payment-label {
  font-family: var(--roboto);
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: 130%;
  text-decoration: none;
}

#html-body.checkout-index-index .customer-type {
  display: none;
}

#html-body .price-box {
  margin: 0;
}

@media (min-width: 770px) {
  #checkout .opc-wrapper {
    width: 59%;
  }

  #checkout .opc-sidebar {
    width: 40%;
  }

  #checkout #addons_step {
    padding: 0px;
    margin-bottom: 0px;
  }

  #checkout .swiper-wrapper {
    flex-wrap: wrap;
    row-gap: 8px;
  }
}

@media (min-width: 1025px) {
  #checkout .opc-wrapper {
    width: 66%;
  }

  #checkout .opc-sidebar {
    width: 33%;
  }

  #checkout #shipping,
  #checkout #delivery_round_step,
  #checkout #payment {
    padding: 24px;
  }

  .checkout-index-index .page-header .header .checkout-header-progress .opc-progress-bar {
    margin-right: 150px;
  }
}

#checkout .loading-mask {
  display: flex !important;
}

.loading-mask {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  
  img {
    position: static !important;
  }
}

/* PAGINATION */
#html-body {
 .pager {
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
  }
  
  .toolbar-amount {
    float: unset;
    text-align: left;
  }
  
  .limiter {
    display: none;
  }
  
  .toolbar {
    margin: 24px 0 0 0;
  }
  .toolbar .pages{
    margin: 0 auto 20px;
  }
}

#html-body .pages {
  float: unset;
  position: static;
  width: fit-content;
  margin-bottom: 0;

  .pages-items {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
  }

  .action.next {
    box-shadow: unset;
  }

  .action.next::before {
    display: none;
  }

  .action.next span {
    clip: unset;
    height: auto;
    width: auto;
    position: static;
    color: var(--green-light);
  }

  .item span.label,
  .action.next span.label {
    clip: rect(0, 0, 0, 0);
    height: 1px;
    width: 1px;
    position: absolute;
  }

  .action.previous {
    display: none;
  }

  .item a {
    font-family: "Roboto Condensed", Arial;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 130%;
    padding: 8px 12px;
  }
  
  .pages-item-next {
    position: static;
  }

  .current strong {
    display: flex;
    padding: 8px 16px;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
    background: var(--green-light);
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    border: none;
    transition: background 0.2s ease, color 0.2s ease;
    height: fit-content;
    width: fit-content;
    text-transform: none;
    color: var(--white);
    
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    
    span {
      color: var(--white);
      font-family: "Roboto Condensed", Arial;
      font-size: 16px;
      font-style: normal;
      font-weight: 600;
      line-height: 130%;
    }
  }
}

/* BADGE */
#html-body {
  .badge-stlpro {
    position: absolute;
    bottom: unset;
    margin-left: unset;
    margin-top: unset;
    background: var(--sand);
    color: var(--earrth-dark);
    border-radius: 0 0 14px 0;
  }

  .badge,
  .addon-cards-grid .col-addon-image .is_temporary,
  .swiper-wrapper .col-addon-image .is_temporary,
  .modal-content .col-addon-item .col-addon-image .is_temporary {
    display: flex;
    padding: 2px 8px;
    justify-content: center;
    align-items: center;
    gap: 4px;
    position: absolute;
    left: 0px;
    top: 0px;
    border-radius: 0 0 14px 0;
    background-color: var(--sand);
    font-family: "Roboto Condensed";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
  }

  .modal-inner-wrap .modal-content .badge span,
  .badge span,
  .badge-stlpro span,
  .is_temporary span,
  .badge {
    font-family: "Roboto Condensed";
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
  }

  .addon-cards-grid .col-addon-item .col-addon-image .is_temporary,
  .swiper-wrapper .col-addon-image .is_temporary,
  .modal-content .col-addon-item .col-addon-image .is_temporary {
    background-color: var(--lime);
    background-position: 6px center;
    background-size: 18px 18px;
    font-size: 12px;
    font-family: "Roboto Condensed", Arial;
  }

  .col-addon-item .temporary-info {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-bottom: 4px;
    
    span {
      font-family: var(--roboto);
      font-size: 18px;
      font-style: normal;
      line-height: 130%;
      font-weight: 600;
    }
  }

  .is_temporary::before,
  .temporary-info::before {
    display: block;
    content: '';
    height: 18px;
    width: 18px;
    background-image: url('../images/clock-outline.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }

  @media (min-width: 1025px) {
    .modal-inner-wrap .modal-content .badge span,
    .addon-cards-grid .col-addon-item .col-addon-image .is_temporary,
    .swiper-wrapper .col-addon-image .is_temporary,
    .modal-content .col-addon-item .col-addon-image .is_temporary,
    .badge,
    .badge span,
    .badge-stlpro span,
    .is_temporary span {
      font-size: 14px;
    }
  }
}


/* Checkout success page */
#html-body.checkout-onepage-success {
  .page-main {
    padding: 24px;
    margin-top: 24px;
    margin-bottom: 24px;
  }

  .page-title {
    margin-bottom: 16px;
    
  }

  .success-order-number {
    margin-bottom: 16px;
  }

  .primary {
    color: var(--white);

    .button {
      width: 100%;
    }
  }

  .checkout-success {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  .success-order-number,
  .success-order-number a,
  .success-order-number a span {
    font-family: var(--roboto);
    font-size: 22px;
    font-style: normal;
    font-weight: 600;
    line-height: 140%;
    letter-spacing: 0.44px;
  }

  .order-number,
  .order-number a,
  .order-number a span {
    color: var(--green-light);
  }

  .body-link a {
    color: var(--green-light);
  }

  @media (min-width: 1025px) {
    .page-main {
      padding: 64px 164px;
      margin-top: 64px;
      margin-bottom: 64px;     
    }

    .primary .button {
      width: fit-content;
    }
  }
}

/* Checkout products can't be delivered / edit cart */
#html-body.checkout-cart-index {
  .page-title-wrapper {
    margin-top: 24px;
    margin-bottom: 16px;
    padding: 0;
  }

  .page-main {
    font-family: var(--roboto);
    font-size: 16px;
    padding: 0 16px;
  }

  .cart-discount,
  #gift-options-cart {
    display: none;
  }

  .cart-container {
    display: flex;
    flex-direction: column-reverse;
    gap: 32px;
  }

  .cart-summary,
  #form-validate {
    float: unset;
    width: 100%;
    background: var(--white);
    padding: 16px;
    border-radius: 4px;
    order: unset;
  }

  .cart.table-wrapper {
    border: none;
    margin: 0;
  }

  .cart thead tr {
    font-weight: 600;
  }

  .cart-totals {
    border: none;
    padding: 0;
  }

  .cart-price {
    color: var(--earth-dark);
  }

  .product-item-name a {
    font-family: var(--roboto);
    font-weight: 600;
    font-size: 20px;
  }
  
  .control.qty input {
    font-family: var(--roboto);
    font-weight: 600;
  }

  .item-options dd {
    white-space: pre-line;
    margin-top: -16px;
  }

  .messages {
    background: var(--alert-light);

    .message.message-error.error {
      max-width: 1280px;
      margin: auto;
    }
  }

  .cart.item.message.error {
    gap: 8px;
    padding: 8px
  }

  .cart.item.message.error::before {
    display: block !important;
    content: '';
    padding-left: 8px;
    background-repeat: no-repeat;
    background-position: right;
  }

  .col.buttons {
    display: none;
  }

  #shopping-cart-table .col.item {
    grid-template-columns: 30% 1fr;
  }  
  
  #shopping-cart-table .product-item-details {
    padding: 0;
  }

  .checkout-methods-items {
    margin-top: 16px;

    button {
      width: 100%;
    }
  }

  @media (min-width: 770px) {
    #shopping-cart-table .product-item-details {
      padding-left: 24px;
    }

    #shopping-cart-table .product-image-photo {
      min-width: 100px;
    }
  }

  @media (min-width: 1025px) {
    .page-main {
      font-size: 18px;
    }

    .cart-container {
      display: grid;
      grid-template-columns: 1fr 30%;
      gap: 32px;
    }

    .cart-summary {
      order: 2;
      height: fit-content;
    }

    .cart-summary,
    #form-validate {
      padding: 24px;
    }
  }
}