.flex {
  display: flex;
  align-items: center;
  gap: 24px;
}

.cake-order-form select {
  border: 1px solid #000;
  border-radius: 8px;
  padding: 16px;
  background-color: transparent;

  appearance: none;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 0.5rem center;
  background-repeat: no-repeat;
  background-size: 1.5em 1.5em;
  padding-right: 2.5rem;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
  cursor: pointer;
  line-height: normal;
}

.cake-order-form textarea,
.cake-order-form input:not([type="checkbox"]) {
  border: 1px solid #000;
  border-radius: 8px;
  padding: 16px;
  background-color: transparent;
}


.cake-order-form {
  text-align: left;
}

.cake-form-steps {
  display: flex;
  margin: 20px 0 40px 0;
}

  .cake-form-steps--3steps .cake-form-step {
    width: calc(100% / 3);
  }
  
  .cake-form-steps--4steps .cake-form-step {
    width: calc(100% / 4);
  }

  .cake-form-step {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    opacity: 0.3;
    transition: all 300ms ease-in-out;
    text-align: center;
    text-transform: uppercase;
  }

    .cake-form-step--active {
      font-weight: bold;
      opacity: 1;
    }
  
    .cake-form-step:before {
      content: '';
      display: block;
      position: absolute;
      top: 5px;
      left: 50%;
      width: calc(100% - 6px);
      border-bottom: 1px solid #000;
    }

      .cake-form-step:last-child:before {
        display: none;
      }

    .step-dot {
      width: 12px;
      height: 12px;
      border-radius: 50%;
      border: 1px solid #000;
      margin-bottom: 5px;
      background-color: var(--bde-background-color);
      transition: background-color 300ms ease-in-out;
      z-index: 1;
    }

      .cake-form-step--active .step-dot {
        background-color: #000;
      }

    .cake-form-step img {
      max-height: 32px;
    }

.cake-order-form[data-active-step="1"] .cake-form-step[data-step="1"] .step-dot,
.cake-order-form[data-active-step="2"] .cake-form-step[data-step="2"] .step-dot,
.cake-order-form[data-active-step="3"] .cake-form-step[data-step="3"] .step-dot,
.cake-order-form[data-active-step="4"] .cake-form-step[data-step="4"] .step-dot {
  background-color: var(--bde-links-color);
  border-color: var(--bde-links-color);
}


#cake-order .step {
  display: none;
  flex-direction: column;
  gap: 25px;
  font-size: 15px;
}

#cake-order section {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

#cake-order strong {
  font-size: 14px;
  line-height: 2.2em;
}

#cake-order label {
  font-weight: normal;
  font-size: 15px;
}

#cake-order .title:not(:first-child) {
  font-size: 15px;
  margin-top: 12px;
}

#cake-order p {
  margin: 0;  
}

#cake-order small {
  display: block;
  line-height: 1.5em;
  font-size: 12px;
}

#cake-order textarea {
  resize: vertical;
}


#cake-order .addon .input-text,
#cake-order .addon select {
  height: 32px;
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
}



#cake-order section.cake-layers-container,
#cake-order section.cake-color {
  display: none;
}

  .cake-layers {
    display: flex;
    gap: 40px;
  }
  
    .cake-layers__image {
      width: 20% !important;
      align-self: center;
    }
    
    .cake-layers__inputs {
      width: calc(80% - 40px);
      display: flex;
      flex-direction: column;
      justify-content: space-evenly;
      gap: 20px;
    }
    
      .cake-layers__inputs > div {
        display: flex;
        flex-direction: column;
        gap: 10px; 
      }

        .cake-layers__inputs > div label {
          white-space: nowrap;
        }



.addon-buttons {
  display: flex;
  flex-flow: wrap;
  gap: 15px;  
}

.addon-button {
  display: flex;
  align-items: center;
  height: 32px;
  background-color: #000 !important;
  border: 1px solid #000;
  border-radius: 9999px;
  padding: 0 10px 0 0;
  color: #fff;
  font-size: 14px;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  
  transition: all 300ms ease-in-out;
}

  .addon-button:hover {
    background-color: transparent !important;
    color: #000;
  }

  .addon-button span {
    display: flex;
    justify-content: center;
    line-height: 30px;
    height: 100%;
    aspect-ratio: 1/1;
    border-radius: 9999px;
    background-color: var(--bde-links-color);
    margin-right: 10px;
    font-size: 125%;
    color: #fff !important;
  }


.addon-list {
  display: flex;
  flex-direction: column;
  gap: 20px; 
}


.addon-templates {
  display: none;
}


.addon {
  width: 100%;
}

  .addon__badge {
    position: relative;
    display: inline-flex;
    margin-left: 10px;
  }
  
    .addon__title {
      border-radius: 8px;
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
      background-color: #000;
      color: #fff;
      padding: 5px 10px 3px 10px;
      z-index: 1;
    }
  
    .addon__remove {
      position: absolute;
      right: -26px;
      top: 0;
      bottom: 0;
      width: 34px;
      border-top-right-radius: 8px;
      background-size: auto 50%;
      background-repeat: no-repeat;
      background-position: 12px 8px;
      background-color: var(--bde-links-color);
      background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="white"><path d="M13.4 12L19.7 5.7C20.1 5.3 20.1 4.7 19.7 4.3C19.3 3.9 18.7 3.9 18.3 4.3L12 10.6L5.7 4.3C5.3 3.9 4.7 3.9 4.3 4.3C3.9 4.7 3.9 5.3 4.3 5.7L10.6 12L4.3 18.3C4.1 18.5 4 18.7 4 19C4 19.6 4.4 20 5 20C5.3 20 5.5 19.9 5.7 19.7L12 13.4L18.3 19.7C18.5 19.9 18.7 20 19 20C19.3 20 19.5 19.9 19.7 19.7C20.1 19.3 20.1 18.7 19.7 18.3L13.4 12Z"></path></svg>');
      cursor: pointer;
    }

  .addon__container {
    display: flex;
    align-items: center;
    gap: 30px;
    border: 1px solid #000;
    border-radius: 8px;
    padding: 10px;
    /*overflow: hidden;*/
  }
  
    .addon__sum-price {
      margin-left: auto;
      font-weight: 600;
    }
    
    select[name="jelgyertya_szin"] option {
      display: none;
    }
    
      select[name="jelgyertya_szin"] option[data-symbol*="sziv"] {
        display: block;
      }


#cake-order .adult {
  display: none;
}

.extra-image-tooltip {
  position: relative;
  display: inline-block;
  cursor: pointer;
  margin: 0 0 -2px 10px;
}

  .extra-image-tooltip .tooltip-icon {
    width: 16px;
    height: 16px;

    background-image: url('data:image/svg+xml,<svg height="512px" style="enable-background:new 0 0 512 512;" version="1.1" viewBox="0 0 512 512" width="512px" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g><path d="M368,224c26.5,0,48-21.5,48-48c0-26.5-21.5-48-48-48c-26.5,0-48,21.5-48,48C320,202.5,341.5,224,368,224z"/><path d="M452,64H60c-15.6,0-28,12.7-28,28.3v327.4c0,15.6,12.4,28.3,28,28.3h392c15.6,0,28-12.7,28-28.3V92.3 C480,76.7,467.6,64,452,64z M348.9,261.7c-3-3.5-7.6-6.2-12.8-6.2c-5.1,0-8.7,2.4-12.8,5.7l-18.7,15.8c-3.9,2.8-7,4.7-11.5,4.7 c-4.3,0-8.2-1.6-11-4.1c-1-0.9-2.8-2.6-4.3-4.1L224,215.3c-4-4.6-10-7.5-16.7-7.5c-6.7,0-12.9,3.3-16.8,7.8L64,368.2V107.7 c1-6.8,6.3-11.7,13.1-11.7h357.7c6.9,0,12.5,5.1,12.9,12l0.3,260.4L348.9,261.7z"/></g></svg>');
    background-size: contain;
  }

  .extra-image-tooltip .tooltip-image {
      visibility: hidden;
      opacity: 0;
      width: 200px;
      max-width: none;
      position: absolute;
      top: 120%;
      left: 50%;
      transform: translateX(-50%);
      transition: opacity 0.3s;
      z-index: 10;
      border: 1px solid #ccc;
      box-shadow: 0 0 10px rgba(0,0,0,0.2);
    }

    .extra-image-tooltip:hover .tooltip-image {
      visibility: visible;
      opacity: 1;
    }


.datepicker input {
  width: 200px;
}

.datepicker select {
  max-width: 100px;
}


.cake-order-form .row {
  display: flex;
  gap: 20px;
}

  .cake-order-form #invoice_city { flex-grow: 1; }
  .cake-order-form #invoice_zip { width: 150px; }


.accordion {
  display: flex;
  align-items: center;
  cursor: pointer;
  padding: 14px 16px;
  width: 100%;
  border: 1px solid #000;
  border-radius: 8px;
  transition: 0.4s;
}

  .accordion strong {
    font-weight: 600;
  }

.accordion--active,
.accordion:hover {
  /*background-color: #ccc;*/
}

.accordion:after {
  content: '';
  display: block;
  width: 24px;
  height: 24px;
  margin-left: auto;
  transition: transform 100ms ease-in-out;
  background-image: url('data:image/svg+xml,<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M19 11H13V5C13 4.73478 12.8946 4.48043 12.7071 4.29289C12.5196 4.10536 12.2652 4 12 4C11.7348 4 11.4804 4.10536 11.2929 4.29289C11.1054 4.48043 11 4.73478 11 5V11H5C4.73478 11 4.48043 11.1054 4.29289 11.2929C4.10536 11.4804 4 11.7348 4 12C4 12.2652 4.10536 12.5196 4.29289 12.7071C4.48043 12.8946 4.73478 13 5 13H11V19C11 19.2652 11.1054 19.5196 11.2929 19.7071C11.4804 19.8946 11.7348 20 12 20C12.2652 20 12.5196 19.8946 12.7071 19.7071C12.8946 19.5196 13 19.2652 13 19V13H19C19.2652 13 19.5196 12.8946 19.7071 12.7071C19.8946 12.5196 20 12.2652 20 12C20 11.7348 19.8946 11.4804 19.7071 11.2929C19.5196 11.1054 19.2652 11 19 11Z" fill="black"/></svg>');
}

.accordion--active:after {
  transform: rotate(45deg);
}

.panel {
  display: flex;
  flex-direction: column;
  gap: 8px;

  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
}


.cake-order-form .summary {
  margin-top: 50px;
  padding-top: 20px;
  border-top: 1px solid rgba(0,0,0, .3);
}

.cake-order-form .summary .dashicons-info {
  cursor: pointer;
}

.cake-order-form .summary #cake-price {
  font-weight: bold;
  font-size: 110%;
}


.step-buttons {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-top: 30px;
}

.step-buttons button.disabled {
  opacity: 0.3;
  pointer-events: none;
}

/* Buttons */
#order-cake {
  display: none;
}

#next-step, #order-cake {
  margin-left: auto;
}

.cake-order-form[data-active-step="1"] #prev-step {
  display: none;
}

.cake-order-form[data-active-step="4"] #next-step {
  display: none;
}

.cake-order-form[data-active-step="4"] #order-cake {
  display: block;
}


.cake-order-form[data-active-step="1"] #next-step  {
  width: 100%;
}

.cake-order-form .button-atom {
  background-color: #000 !important;
}

  .cake-order-form .button-atom:hover {
    background-color: var(--bde-links-color) !important;
  }




.loading-layer {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 9999999;
    background-color: rgba(255,255,255,.8);
    display: none
}

.loading-layer .loader {
    position: relative;
    margin: 0px auto;
    width: 100px;
    height: 100px;
    top: 50%;
    margin-top: -50px
}

.loading-layer .loader:before {
    content: '';
    display: block;
    padding-top: 100%
}

.circular-loader {
    -webkit-animation: rotate 2s linear infinite;
    animation: rotate 2s linear infinite;
    height: 100%;
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    margin: auto
}

.loader-path {
    stroke-dasharray: 150,200;
    stroke-dashoffset: -10;
    -webkit-animation: dash 1.5s ease-in-out infinite,color 6s ease-in-out infinite;
    animation: dash 1.5s ease-in-out infinite,color 6s ease-in-out infinite;
    stroke-linecap: round
}

@-webkit-keyframes rotate {
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@keyframes rotate {
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}





.checkbox-wrapper *,
.checkbox-wrapper::after,
.checkbox-wrapper::before {
  box-sizing: border-box;
  cursor: pointer;
}

.checkbox-wrapper [type=checkbox].substituted {
  margin: 0;
  width: 0;
  height: 0;
  display: inline;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.checkbox-wrapper [type=checkbox].substituted + label:before {
  content: "";
  display: inline-block;
  vertical-align: top;
  height: 1.15em;
  width: 1.15em;
  margin-right: 0.6em;
  margin-top: 2px;
  color: rgba(0, 0, 0, 0.275);
  border: solid 0.06em;
  box-shadow: 0 0 0.04em, 0 0.06em 0.16em -0.03em inset, 0 0 0 0.07em transparent inset;
  border-radius: 0.2em;
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xml:space="preserve" fill="white" viewBox="0 0 9 9"><rect x="0" y="4.3" transform="matrix(-0.707 -0.7072 0.7072 -0.707 0.5891 10.4702)" width="4.3" height="1.6" /><rect x="2.2" y="2.9" transform="matrix(-0.7071 0.7071 -0.7071 -0.7071 12.1877 2.9833)" width="6.1" height="1.7" /></svg>') no-repeat center, white;
  background-size: 0;
  will-change: color, border, background, background-size, box-shadow;
  transform: translate3d(0, 0, 0);
  transition: color 0.1s, border 0.1s, background 0.15s, box-shadow 0.1s;
}
.checkbox-wrapper [type=checkbox].substituted:enabled:active + label:before,
.checkbox-wrapper [type=checkbox].substituted:enabled + label:active:before {
  box-shadow: 0 0 0.04em, 0 0.06em 0.16em -0.03em transparent inset, 0 0 0 0.07em rgba(0, 0, 0, 0.1) inset;
  background-color: #f0f0f0;
}
.checkbox-wrapper [type=checkbox].substituted:checked + label:before {
  background-color: #E52587;
  background-size: 0.75em;
  color: rgba(0, 0, 0, 0.075);
}
.checkbox-wrapper [type=checkbox].substituted:checked:enabled:active + label:before,
.checkbox-wrapper [type=checkbox].substituted:checked:enabled + label:active:before {
  background-color: #E52587;
  color: rgba(0, 0, 0, 0.275);
}
.checkbox-wrapper [type=checkbox].substituted:focus + label:before {
  box-shadow: 0 0 0.04em, 0 0.06em 0.16em -0.03em transparent inset, 0 0 0 0.07em rgba(0, 0, 0, 0.1) inset, 0 0 0 3.3px rgba(229, 37, 135, 0.05), 0 0 0 5px rgba(229, 37, 135, 0.1);
}
.checkbox-wrapper [type=checkbox].substituted:focus:active + label:before,
.checkbox-wrapper [type=checkbox].substituted:focus + label:active:before {
  box-shadow: 0 0 0.04em, 0 0.06em 0.16em -0.03em transparent inset, 0 0 0 0.07em rgba(0, 0, 0, 0.1) inset, 0 0 0 3.3px rgba(229, 37, 135, 0.05), 0 0 0 5px rgba(229, 37, 135, 0.1);
}
.checkbox-wrapper [type=checkbox].substituted:disabled + label:before {
  opacity: 0.5;
}

.checkbox-wrapper [type=checkbox].substituted.dark + label:before {
  color: rgba(255, 255, 255, 0.275);
  background-color: #222;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xml:space="preserve" fill="rgba(34, 34, 34, 0.999)" viewBox="0 0 9 9"><rect x="0" y="4.3" transform="matrix(-0.707 -0.7072 0.7072 -0.707 0.5891 10.4702)" width="4.3" height="1.6" /><rect x="2.2" y="2.9" transform="matrix(-0.7071 0.7071 -0.7071 -0.7071 12.1877 2.9833)" width="6.1" height="1.7" /></svg>');
}
.checkbox-wrapper [type=checkbox].substituted.dark:enabled:active + label:before,
.checkbox-wrapper [type=checkbox].substituted.dark:enabled + label:active:before {
  background-color: #444;
  box-shadow: 0 0 0.04em, 0 0.06em 0.16em -0.03em transparent inset, 0 0 0 0.07em rgba(255, 255, 255, 0.1) inset;
}
.checkbox-wrapper [type=checkbox].substituted.dark:checked + label:before {
  background-color: #a97035;
  color: rgba(255, 255, 255, 0.075);
}
.checkbox-wrapper [type=checkbox].substituted.dark:checked:enabled:active + label:before,
.checkbox-wrapper [type=checkbox].substituted.dark:checked:enabled + label:active:before {
  background-color: #c68035;
  color: rgba(0, 0, 0, 0.275);
}
.checkbox-wrapper [type=checkbox].substituted + label {
  -webkit-user-select: none;
  user-select: none;
}

