/*
 * DO NOT EDIT THIS FILE.
 * See the following change record for more information,
 * https://www.drupal.org/node/3084859
 * @preserve
 */

/**
 * @file
 * Social Bar Region
 .
 */

body #block-olivero-telefon .toggle-contact,
body #block-olivero-account-menu .toggle-account, 
body #block-olivero-cart .toggle-cart{
    display: none;
} 
#block-olivero-telefon.is-active,
#block-olivero-account-menu.is-active,
#block-olivero-cart.is-active{
  position: fixed;
  z-index: 501;
  inset-block-start: 0;
  inset-inline-start: 100%;
  overflow: auto;
  flex-basis: max-content;
  width: 100%;
  max-width: var(--mobile-nav-width);
  height: 100%;
  padding-block: 0 var(--sp);
  padding-inline-start: var(--sp);
  padding-inline-end: var(--sp);
  border-block-start: solid var(--color--white) calc(var(--sp3) + var(--drupal-displace-offset-top, 0px));
  background-color: var(--color--white);
  box-shadow: 0 0 72px rgba(0, 0, 0, 0.1);
}
#block-olivero-telefon.is-active,
#block-olivero-account-menu.is-active,
#block-olivero-cart.is-active{
    transform: translateX(calc(-100% - var(--drupal-displace-offset-right, 0px)));
}


.social-bar .cart-block--contents{
width:100%;
height:calc(100% - var(--site-header-height-wide) - 20px);
}

.social-bar #block-olivero-cart .cart-block--contents__items{
    max-height: unset;
    height: 100%;
    overflow: auto;
}
#block-olivero-cart  .view-commerce-cart-block td img,
#block-olivero-content .view-commerce-cart-form td img{
max-width: initial;
width: 3.5rem;
}
#block-olivero-content .view-commerce-cart-form .views-table th,
#block-olivero-content .view-commerce-cart-form .views-table td,
#block-olivero-cart .views-table th,
#block-olivero-cart .views-table td{
    border:none;
}

#block-olivero-content .view-commerce-cart-form .form-actions .button{
  width: 46%;
  margin: 0 2%;
  padding: 0 2%;
}
 
#block-olivero-content .view-commerce-cart-form .views-row:first-child{
  border-block-start: 2px solid var(--color--primary-50);
}
#block-olivero-content .view-commerce-cart-form .views-table thead tr,
#block-olivero-cart .views-table thead tr{
    border-block-end: 2px solid var(--color--primary-50);
}

#block-olivero-content .view-commerce-cart-form .views-row{
  margin: 1.5rem 0;
  padding: 1.5rem 0.5rem;
  border-block-end: 2px solid var(--color--gray-65);
}

#block-olivero-content .view-commerce-cart-form .views-table tr,
#block-olivero-cart .views-table tr{
    border-block-end:2px solid var(--color--gray-65);
}

@media (min-width: 380px) {
  
  #block-olivero-cart  .view-commerce-cart-block td img,
  #block-olivero-content .view-commerce-cart-form td img{
    width: 4.75rem;
  }
}

#block-olivero-cart .form-actions,
#block-olivero-cart .cart-block--summary{
display:none;
}
#block-olivero-telefon .block__title,
#block-olivero-cart .block__title{
  display: table-cell;
  margin-top: calc(2 * var(--sp));
  margin-bottom: 0;
  color: #444;
  font-size: 24px;
}

#block-olivero-telefon .icon-hours {
    width: 24px;  
    height: 24px;
    vertical-align: middle; 
    margin-right: 5px;  
  }
  
#block-olivero-telefon .tel {
    display:flex;
    min-height: 50%;
    width: 100%;
    flex-wrap: wrap;
    padding-top: 20px;
  }
#block-olivero-telefon .tel a{
    padding: 15px 30px 15px 15px;  
    margin: 15px 15px 0;
    display: inline-block;
    min-width: 50%;
    }
  
#block-olivero-cart .cart-block--contents__inner{
  padding: var(--sp);
}

#block-olivero-cart .cart-item-container {
  display: flex;
  flex-direction: column;  
  flex-grow: 1;  
}
#block-olivero-cart .views-row-inner{
  display: flex;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-block-end:2px solid var(--color--gray-65);
}
#block-olivero-cart .views-row:first-child {
  border-block-start: 2px solid var(--color--primary-50);
  padding-top: 10px;
}
#block-olivero-content .view-commerce-cart-form .cart-item-details,
#block-olivero-cart .cart-item-details{
  display: flex;
  flex-grow: 1;
}

#block-olivero-content .view-commerce-cart-form .custom-price-wrapper,
#block-olivero-cart .custom-price-wrapper {
  display: flex;
  align-items: baseline; /* Выравнивание по базовой линии текста */
}
#block-olivero-content .view-commerce-cart-form .custom-price-wrapper div,
#block-olivero-cart .custom-price-wrapper div {
  line-height: 1; /* Убираем влияние line-height */
}

#block-olivero-content .view-commerce-cart-form .cart-item-details-second-col{
display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  width:100%; /* cart page */
}
#block-olivero-content .view-commerce-cart-form .views-field-field-image,
#block-olivero-cart .views-field-field-image{
  align-self: flex-start;
  margin-right: 1.5rem;
  flex: 0 0 6rem;
}
#block-olivero-content .view-commerce-cart-form .views-field-field-image img,
#block-olivero-cart .views-field-field-image img {
  height: 100%; 
  width: auto;
  object-fit: cover;
}
#block-olivero-content .views-field-title{
width: 100%;
}
#block-olivero-cart .views-field-title{
  flex: 1 0 0px;
  /*min-height: calc(var(--line-height-base));*/
  min-height: initial;
}
#block-olivero-content .views-field-unit-price__number{
width:90%;
}
#block-olivero-content .views-field-remove-button{
width:auto;
margin-left: auto; /*cart page*/
}
#block-olivero-cart .cart--cart-block .cart-block--contents a{
text-decoration: none;
}
#block-olivero-cart .cart-item-pricing {
  margin-top: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}
#block-olivero-cart .views-field-quantity{
margin-right:6px;
}
#block-olivero-cart .views-field-remove-button{
position: relative;
   
  appearance: none;
  user-select: none;
  transition: 250ms;
  outline: none;
  text-decoration: none;
  cursor: pointer;
  padding: 0px;
  margin: auto 0px 0px auto;
  line-height: 1;
  background: transparent;
  border: medium;
  white-space: nowrap;
  border-radius: 0px;
  flex: 0 0 20px;
  /*display: flex;
  
  align-items: center;*/
}

#block-olivero-cart .cart-block--contents__links{
display: flex;
justify-content: space-around;
margin-top: 20px;
}

#block-olivero-cart .cart-block--contents__links .cart-button {
  padding: 10px;
  background-color: #000;
  color: #fff;
  width: 46%;
  text-align: center;
  border: 1px solid transparent;
  border-radius: 50px;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: background-color 0.3s ease;
}

#block-olivero-cart .cart-block--contents__links .cart-button a {
  color: #fff;
  text-decoration: none;
  display: block;
  position: relative;
  z-index: 2;
}

#block-olivero-cart .cart-block--contents__links .cart-button:after {
  content: "";
  position: absolute;
  top: 0;
  left: 150%;
  width: 200%;
  height: 100%;
  background: linear-gradient(90deg,transparent, hsla(0,0%,100%,.25),transparent);
  transform: skewX(-20deg);
  z-index: 1;  
  pointer-events: none; 
}

#block-olivero-cart .cart-block--contents__links .cart-button:hover {
  background-color: #1a1a1a;
  transition-delay: 0.25s;
}

#block-olivero-cart .cart-block--contents__links .cart-button:hover:after {
  animation: shine 0.75s cubic-bezier(0.01, 0.56, 1, 1);
}

.quantity-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 0px;
  gap: 8px;
}

.quantity-decrease,
.quantity-increase {
  flex: 1 1 0%;
  color: rgb(0, 0, 0);
  font-size: 0.875rem;
  line-height: 1.571;
  letter-spacing: 0px;
  background: rgb(255, 255, 255);
  border-radius: 8px;
  border: 1px solid rgb(203, 203, 203);
  width: 48px;
  height: 40px;
}

.quantity-decrease:hover,
.quantity-increase:hover {
  background-color: #e0e0e0;
}

.view-commerce-cart-form .views-field-edit-quantity{
display: flex;
  justify-content: space-between;
  width: 75%;
  gap: 1rem;
}


.view-commerce-cart-form .views-field-total-price__number {
  font-weight: bold;
  letter-spacing: 0.5px;
  line-height: 1.25rem;
  padding-top: 1rem;
  margin-left: auto;
}
.view-commerce-cart-form .cart-item-pricing {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-top: 0.75rem;
  flex-wrap: wrap;
}

/* Прибрати стрілочки в Chrome, Safari, Edge, Opera */
.view-commerce-cart-form .views-field-edit-quantity input[type="number"]::-webkit-inner-spin-button,
.view-commerce-cart-form .views-field-edit-quantity input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Прибрати стрілочки в Firefox */
.view-commerce-cart-form .views-field-edit-quantity input[type="number"] {
  -moz-appearance: textfield;
}

/* Додаткові стилі для поля */
.view-commerce-cart-form .views-field-edit-quantity .quantity-edit-input {
  flex: 1 1 0%;
  color: rgb(26, 26, 26);
  background: transparent;
  border-radius: 0.5rem;
  border: 1px solid rgb(117, 117, 117);
  width: 48px;
  height: 40px;
  text-align: center;
  font-size: 0.875rem;
  line-height: 1.571;
  letter-spacing: 0px;
  min-height: auto;
}

.view-commerce-cart-form .views-field-edit-quantity .quantity-wrapper{
display: flex;
}
.view-commerce-cart-form .views-field-edit-quantity .quantity-wrapper .form-item{
margin:0;
}

@media (min-width: 75rem) {
  .social-bar {
    flex-shrink: 0;
    width: var(--content-left);
    background-color: var(--color--gray-100);
  }
  #block-olivero-telefon.is-active,
  #block-olivero-account-menu.is-active,
  #block-olivero-cart.is-active{
    position: relative;
    transform: initial;
    z-index: 609;
    inset-inline-start: initial;
    padding: initial;
    border: none;
    box-shadow: none;
    overflow: hidden;
  }
  body #block-olivero-telefon .toggle-contact,
  body #block-olivero-account-menu .toggle-account,
  body #block-olivero-cart .toggle-cart {
    width: 100%;
    height: auto;
    cursor: pointer;
    display: block;
    text-align: center;
    padding: 16px;
    opacity: 0.7;
    z-index: 609;
    position: relative;
  }
  .toggle-cart:hover{
    opacity: 1;
  }
  
  .toggle-contact .icon,
  .toggle-cart .icon {
    transition: all 0.3s ease; 
  }
  .toggle-contact .icon-cross,
  .toggle-cart .icon-cross {
    transform: rotate(90deg); 
  }
  
  
  .toggle-cart .icon-bag .bag-handle,
  .toggle-cart .icon-bag .bag-body {
    opacity: 1;
    transition: opacity 0.3s ease;
  }
  .toggle-contact .icon-phone .cross-line1,
  .toggle-contact .icon-phone .cross-line2,
  .toggle-cart .icon-bag .cross-line1,
  .toggle-cart .icon-bag .cross-line2 {
    opacity: 0;
    transition: opacity 0.3s ease;
  }

  /* Состояние крестика */
  .toggle-contact .icon-cross .phone-body,
  .toggle-cart .icon-cross .bag-handle,
  .toggle-cart .icon-cross .bag-body {
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  .toggle-contact .icon-cross .cross-line1,
  .toggle-contact .icon-cross .cross-line2,
  .toggle-cart .icon-cross .cross-line1,
  .toggle-cart .icon-cross .cross-line2 {
    opacity: 1;
    transition: opacity 0.3s ease;
  }
  
  
  body #block-olivero-telefon .toggle-contact,
  body #block-olivero-account-menu .toggle-account {
    width: 100%;
    height: auto;
    cursor: pointer;
    display: block;
    text-align: center;
    padding: 16px;
    opacity: 0.7;
  }
  
  .toggle-account:hover {
    opacity: 1;
  }

  .toggle-account .icon {
    transition: all 0.3s ease;
  }

  .toggle-account .icon-user .user-body,
  .toggle-account .icon-user .user-head {
    opacity: 1;
    transition: opacity 0.3s ease;
  }
  .toggle-account .icon-user .cross-line1,
  .toggle-account .icon-user .cross-line2 {
    opacity: 0;
    transition: opacity 0.3s ease;
  }

  .toggle-account .icon-cross .user-body,
  .toggle-account .icon-cross .user-head {
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  .toggle-account .icon-cross .cross-line1,
  .toggle-account .icon-cross .cross-line2 {
    opacity: 1;
    transition: opacity 0.3s ease;
  }
  
  
  .toggle-overlay {
    position: fixed;
    top: 0;
    left: var(--content-left);
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5); /* Полупрозрачный чёрный фон */
    z-index: 608; /* Ниже блоков, но выше основного контента */
    display: none; /* Скрыт по умолчанию */
  }

  /* Убедимся, что блоки поверх overlay */
  #block-olivero-telefon,
  #block-olivero-account-menu {
    position: relative;
    z-index: 609;
  }


  #block-olivero-content .view-commerce-cart-form .form-actions .button{
    width:auto;
    margin-block: var(--sp0-5);
    padding-block: 1px 0;
  }
} /* end min-width: 75rem */


 
.site-header .social-bar{
  margin-inline-start: auto;
  margin-block-start: var(--sp0-5);
}

.site-header .no-rotate{
display: flex;
}
   
.site-header .toggle-cart {
  cursor: pointer;
  display: block;
  text-align: center;
  padding: 0 12px;
  opacity: 0.7;
  z-index: 100;
  position: relative;
  width: calc(var(--sp2)*1.7);
  margin-right: 12px;
}


 
  
  .toggle-cart .icon {
    transition: all 0.3s ease; 
  }
  .toggle-cart .icon-cross {
    transform: rotate(90deg); 
  }
  
  
  .toggle-cart .icon-bag .bag-handle,
  .toggle-cart .icon-bag .bag-body {
    opacity: 1;
    transition: opacity 0.3s ease;
  }
  .toggle-cart .icon-bag .cross-line1,
  .toggle-cart .icon-bag .cross-line2 {
    opacity: 0;
    transition: opacity 0.3s ease;
  }

  /* Состояние крестика */
  .toggle-cart .icon-cross .bag-handle,
  .toggle-cart .icon-cross .bag-body {
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  .toggle-cart .icon-cross .cross-line1,
  .toggle-cart .icon-cross .cross-line2 {
    opacity: 1;
    transition: opacity 0.3s ease;
  }
  
  .site-header .toggle-contact,
  .site-header .toggle-account {
    width: var(--sp2);
    height: auto;
    cursor: pointer;
    display: block;
    text-align: center;
    padding: 0;
    opacity: 0.7;
  }
  .toggle-account:hover {
    opacity: 1;
  }

  .toggle-account .icon {
    transition: all 0.3s ease;
  }

.toggle-contact .icon-phone .phone-body,
  .toggle-account .icon-user .user-body,
  .toggle-account .icon-user .user-head {
    opacity: 1;
    transition: opacity 0.3s ease;
  }
  .toggle-contact .icon-phone .cross-line1,
  .toggle-contact .icon-phone .cross-line2,
  .toggle-account .icon-user .cross-line1,
  .toggle-account .icon-user .cross-line2 {
    opacity: 0;
    transition: opacity 0.3s ease;
  }
.toggle-contact .icon-cross .phone-body,
  .toggle-account .icon-cross .user-body,
  .toggle-account .icon-cross .user-head {
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  .toggle-contact .icon-cross .cross-line1,
  .toggle-contact .icon-cross .cross-line2,
  .toggle-account .icon-cross .cross-line1,
  .toggle-account .icon-cross .cross-line2 {
    opacity: 1;
    transition: opacity 0.3s ease;
  }

.site-header .social-bar #block-olivero-cart .block__content {    
  width: 100%;
  position: fixed;
  top: 0;
  height: 100%;
  }
  
  .site-header .social-bar #block-olivero-cart .cart-block--contents{
    width: 100%;
  }

  .site-header .social-bar #block-olivero-cart .cart--cart-block{
    background: white;
    width: 100%;
    height: 100%;
  }
  
    
    
.social-bar__inner {
  /*position: relative;
  padding-block: var(--sp0-5);
  padding-inline-start: var(--sp);
  padding-inline-end: var(--sp);*/
}

/* body:not(.is-always-mobile-nav) .header-nav */
@media (min-width: 75rem) {
  .social-bar__inner {
    position: relative;
    width: var(--content-left);
    padding-block: var(--sp5);
    padding-inline-start: 0;
    padding-inline-end: 0;
  }

  .social-bar__inner.is-fixed {
    position: fixed;
    inset-block-start: var(--sp6);
    padding-block: 0;
    inset-inline-start: 0;
    height: calc(100vh - var(--sp6));
  }
}

.rotate > * {
  margin-block-end: var(--sp2);
}

@media (min-width: 75rem) {
  .rotate > * {
    display: flex;
    align-items: center;
    margin-block-end: 0;
  }

  .rotate > *:not(:first-child) {
    margin-inline-end: var(--sp2);
  }
}

@media (min-width: 75rem) {
  .rotate .contextual {
    inset-inline: 100% auto;
    transform: rotate(90deg); /* LTR */
    transform-origin: top left; /* LTR */
  }

  .rotate .contextual .trigger {
    float: left; /* LTR */

    /**
         * Chromium and Webkit do not yet support flow relative logical properties,
         * such as float: inline-end. However, PostCSS Logical does not compile this
         * value, so we accommodate by not using these.
         *
         * @see https://caniuse.com/mdn-css_properties_clear_flow_relative_values
         * @see https://github.com/csstools/postcss-plugins/issues/632
         */
  }
  .rotate .contextual .trigger:dir(rtl) {
    float: right;
  }
  
  .social-bar #block-olivero-telefon .block__title,
  .social-bar #block-olivero-cart .block__title{
    transform: rotate(-90deg) translateX(-15%) translateY(92%);
    transform-origin: center left;
    height: var(--content-left);
    margin: 0;
    font-size: var(--font-size-s);
  }
  
  .social-bar #block-olivero-telefon .block__content,
  .social-bar #block-olivero-account-menu .menu-block,
  .social-bar #block-olivero-cart .block__content {
    padding-left: 90px;
    width: calc(var(--max-width)/2);
    position: fixed;
    top: 0;
    height: 100%;
  }
  
  .social-bar #block-olivero-cart .cart-block--contents{
    width: calc(var(--max-width)/2);
    overflow: auto;
    height: calc(100% - var(--site-header-height-wide) - 80px);
    /*box-shadow: 59px 30px 36px rgba(0, 0, 0, 0.08);*/
  }

  .social-bar #block-olivero-telefon .text-content,
  .social-bar #block-olivero-account-menu .menu-block--contents,
  .social-bar #block-olivero-cart .cart--cart-block{
    box-shadow: 76px -8px 82px 36px rgba(0, 0, 0, 0.08);
    background: white;
    width: calc(var(--max-width)/2);
    height: 100%;
  }
  .social-bar #block-olivero-telefon .text-content,
  .social-bar #block-olivero-account-menu .menu-block--contents{
  height: 100vh; /* Задаём высоту контейнера (например, высота окна) */
  display: flex;
  align-items: center;
  }
  .social-bar #block-olivero-account-menu .menu-block--contents ul{
    margin: 0;
    list-style: none;
    display: inline-block;
    min-height: 50%;
    width: 100%;
  }
  .social-bar #block-olivero-account-menu .menu-block--contents ul li{
    padding: 15px 30px 15px 15px;
    border-radius: 5px;
    border: 1px solid #dedede;
    margin: 15px 15px 0;
    display: inline-block;
    min-width: 50%;
  }

  
    
  .workH-line{
    width: 100%;
    margin-left: 30px;
  }  
  .social-bar #block-olivero-cart .cart-block--contents__inner{
    padding: 20px;
  }
  
  
  .cart-block :is(.forum table, .text-content table, .views-table, .draggable-table) td{
    border: none;
  }
  .cart-block tr{
    border-bottom: 1px solid;
    border-bottom-color: #e9e9e9;
    margin-bottom: 20px;
    padding-bottom: 20px;
  }
}

@media (min-width: 75rem) {
  .rotate {
    position: absolute;
    inset-inline-start: 50%;
    display: flex;
    flex-direction: row-reverse;
    width: 100vh;
    transform: rotate(-90deg) translateX(-100%); /* LTR */
    transform-origin: left; /* LTR */
  }

  @supports (width: max-content) {
    .rotate {
      width: max-content;
    }
  }
}

@media (min-width: 75rem) {
  [dir="rtl"] .rotate {
    transform: rotate(90deg) translateX(100%);
    transform-origin: right;
  }

  [dir="rtl"] .rotate .contextual {
    transform: rotate(-90deg);
    transform-origin: top right;
  }
}



@keyframes shine{
  to{
    left:-200%;
  }
}
