

/* Start:/local/templates/main/components/bitrix/catalog.element/certificate/style.css?178947424333240*/
 .checkout-form__toggle-row,
 .checkout-switch,
 .checkout-switch input,
 .checkout-switch span { cursor: pointer; }

 .checkout-switch input {
        position: absolute;
        opacity: 0;
      }

      .checkout-switch span {
        position: relative;
        display: block;
        width: 34px;
        height: 20px;
        border-radius: 12px;
        background: #d4d4d4;
        transition: background .2s;
      }

      .checkout-switch span::after {
        position: absolute;
        top: 3px;
        left: 3px;
        width: 14px;
        height: 14px;
        border-radius: 50%;
        background: #fff;
        content: "";
        transition: transform .2s;
      }

      .checkout-switch input:checked + span { background: #20201f; }
      .checkout-switch input:checked + span::after { transform: translateX(14px); }
	  
  .gift-form *,
  .delivery-modal * {
    box-sizing: border-box;
  }

  .gift-form button,
  .gift-form input,
  .gift-form textarea,
  .delivery-modal button,
  .delivery-modal input {
    font: 16px;
  }

  .gift-form button,
  .delivery-modal button {
    cursor: pointer;
  }

  .gift-form__group {
    min-width: 0;
    margin: 0 0 26px;
    padding: 0;
    border: 0;
  }

  .gift-form legend {
    margin-bottom: 13px;
    font-size: 15px;
    font-weight: 700;
  }

  .form-hint {
    margin: 8px 0 0;
    color: #aaa9a5;
    font-size: 15px;
    line-height: 1.4;
  }

  .amount-input {
    position: relative;
    display: block;
  }

  .amount-input input {
    width: 100%;
    height: 48px;
    padding: 0 56px 0 18px;
    color: #0a0a0a;
    background: #fff;
    border: 1px solid #dcdcdc;
    border-radius: 0;
    font-size: 16px;
    font-weight: 600;
    outline: none;
    transition:
      border-color 0.2s,
      box-shadow 0.2s;
  }

  .amount-input__clear {
    position: absolute;
    top: 50%;
    right: 17px;
    width: 30px;
    height: 30px;
    padding: 0;
    color: #b2b2ae;
    background: transparent;
    border: 0;
    font-size: 24px;
    font-weight: 300;
    line-height: 1;
    transform: translateY(-50%);
  }

  .amount-input__clear[hidden],
  .gift-recipient-fields[hidden] {
    display: none;
  }

  .amount-options {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-top: 20px;
  }

  .amount-options button,
  .recipient-options span {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    margin: 0;
    color: #0a0a0a;
    background: #f2f2f2;
    border: 1px solid transparent;
    border-radius: 0;
    font-size: 15px;
    font-weight: 700;
    text-transform: none;
            text-transform: uppercase;
    transition:
      color 0.2s,
      background 0.2s,
      transform 0.2s;
  }

  .amount-options button:hover {
    transform: translateY(-2px);
  }

  .amount-options .is-selected,
  .recipient-options input:checked + span {
    color: #fff;
    background: #20201f;
  }

  .recipient-options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .recipient-options label,
  .delivery-options label {
    cursor: pointer;
  }

  .recipient-options input,
  .delivery-options input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
  }

  .recipient-options input:focus-visible + span {
    outline: 3px solid rgba(32, 32, 31, 0.2);
    outline-offset: 2px;
  }

  .gift-recipient-fields {
    display: grid;
    gap: 12px;
    margin: -4px 0 29px;
  }

  .gift-self-fields {
    display: grid;
    gap: 12px;
    margin: -4px 0 29px;
  }

  .gift-self-fields[hidden] {
    display: none;
  }

  .gift-self-fields h2 {
    margin: 0 0 4px;
    font-size: 16px;
    letter-spacing: -0.025em;
  }

  .gift-self-fields label {
    display: block;
    margin: 0;
  }

  .gift-self-fields input {
    display: block;
    width: 100%;
    height: 48px;
    margin: 0;
    padding: 0 12px;
    color: #0a0a0a;
    background: #fff;
    border: 1px solid #dcdcdc;
    border-radius: 0;
    outline: none;
  }

  .visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  .gift-recipient-fields h2 {
    margin: 0;
    font-size: 16px;
    letter-spacing: -0.025em;
  }

  .gift-recipient-fields label {
    display: grid;
    gap: 7px;
    color: #757571;
    font-size: 12px;
            text-transform: uppercase;
  }

  .gift-recipient-fields input,
  .gift-recipient-fields textarea {
    width: 100%;
    height: 48px;
    padding: 0 12px;
    background: #fff;
    border: 1px solid #dcdcdc;
    border-radius: 0;
    outline: none;

  }

  .gift-recipient-fields textarea {
    min-height: 48px;
    padding-top: 12px;
    padding-bottom: 12px;
    font-size: 16px;
    line-height: 20px;
    overflow: hidden;
    resize: none;
  }

  .recipient-section {
    display: grid;
    gap: 8px;
    margin-top: 7px;
  }

  .recipient-section .form-hint {
    margin: -3px 0 0;
  }

  .form-hint--counter {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  .textarea-counter {
    color: #aaa9a5;
    font-size: 10px;
  }

  .delivery-options {
    display: grid;
    gap: 6px;
  }

  .delivery-options span {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    color: #0a0a0a;
    background: #f2f2f2;
    border-radius: 0;
    font-size: 13px;
    font-weight: 700;
    
  }

  .delivery-options input:checked + span {
    color: #fff;
    background: #0a0a0a;
  }

  .gift-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 48px;
    margin: 0;
    padding: 0 20px;
    color: #fff;
    background: #0a0a0a;
    border: 1px solid #0a0a0a;
    border-radius: 0;
    font-size: 15px;
    font-weight: 700;
    text-transform: none;
    transition: background 0.2s;
  }
  
  .item-page .info .blocks .block .link{}

  .gift-submit:hover {
    background: #000;
  }

  .toast {
    position: fixed;
    left: 50%;
    bottom: 26px;
    z-index: 2;
    padding: 14px 20px;
    color: #fff;
    background: #20201f;
    border-radius: 8px;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.2);
    font-size: 13px;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 24px);
    transition:
      opacity 0.25s,
      transform 0.25s;
  }

  .toast.is-visible {
    opacity: 1;
    transform: translate(-50%, 0);
  }

  .delivery-modal {
    width: min(calc(100% - 40px), 390px);
    padding: 0;
    color: #0a0a0a;
    background: #fff;
    border: 0;
    box-shadow: 0 18px 60px rgba(0, 0, 0, 0.24);
  }

  .delivery-modal::backdrop {
    background: rgba(0, 0, 0, 0.45);
  }

  .delivery-modal__content {
    display: grid;
    gap: 16px;
    padding: 28px;
  }

  .delivery-modal__content h2 {
    margin: 0;
    font-size: 22px;
    line-height: 1.1;
  }

  .delivery-modal__content > p {
    margin: -6px 0 4px;
    color: #6f6f6f;
    font-size: 14px;
    line-height: 1.35;
  }

  .delivery-modal__content label {
    display: grid;
    gap: 7px;
    color: #6f6f6f;
    font-size: 12px;
  }

  .delivery-modal__content input {
    width: 100%;
    height: 44px;
    padding: 0 12px;
    color: #0a0a0a;
    border: 1px solid #dcdcdc;
    border-radius: 0;
  }

  .delivery-modal__close {
    position: absolute;
    top: 12px;
    right: 14px;
    width: 30px;
    height: 30px;
    padding: 0;
    color: #707070;
    background: transparent;
    border: 0;
    font-size: 25px !important;
    line-height: 1 !important;
  }

  .delivery-modal__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 4px;
  }

  .delivery-modal__actions button {
    height: 48px;
    margin: 0;
    border-radius: 0;
    font-size: 12px;
    font-weight: 700;
    text-transform:uppercase;
  }

  .delivery-modal__cancel {
    color: #0a0a0a;
    background: #f2f2f2;
    border: 1px solid #f2f2f2;
  }

  .delivery-modal__confirm {
    color: #fff;
    background: #0a0a0a;
    border: 1px solid #0a0a0a;
  }

  @media (max-width: 760px) {
    .gift-form__group {
      margin-bottom: 22px;
    }

    .gift-form legend {
      margin-bottom: 17px;
      font-size: 19px;
    }

    .amount-input input {
      height: 63px;
      font-size: 17px;
    }

    .amount-options {
      gap: 9px;
      margin-top: 26px;
    }

    .amount-options button,
    .recipient-options span {
      height: 48px;
      border-radius: 9px;
      font-size: 15px;
    }

    .toast {
      width: calc(100% - 60px);
      text-align: center;
    }
  }

  @media (max-width: 380px) {
    .amount-options button,
    .recipient-options span {
      font-size: 13px;
    }
  }

  /* Изоляция формы от общих стилей карточки товара. */
  .item-page .content .gift-form {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0 0 30px;
    padding: 0;
  }

  .item-page .content .gift-form .amount-input {
    width: 100%;
    height: 48px;
    margin: 0;
    padding: 0;
    border: 0;
  }

  .item-page .content .gift-form .amount-input input {
    position: static;
    display: block;
    width: 100%;
    min-width: 0;
    max-width: none;
    height: 48px;
    margin: 0;
    padding: 0 56px 0 18px;
    color: #0a0a0a;
    background: #fff;
    border: 1px solid #dcdcdc;
    border-radius: 0;
    box-shadow: none;
    line-height: 48px;
    text-align: left;
    appearance: none;
  }

  .item-page .content .gift-form .amount-input__clear {
    position: absolute;
    top: 50%;
    right: 12px;
    bottom: auto;
    left: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    min-width: 0;
    max-width: none;
    height: 30px;
    margin: 0;
    padding: 0;
    color: #b2b2ae;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    font-size: 18px;
    line-height: 1;
    transform: translateY(-50%);
    appearance: none;
  }

  .item-page .content .gift-form .amount-options {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    gap: 8px;
  }

  .item-page .content .gift-form .amount-options button,
  .item-page .content .gift-form .recipient-options span,
  .item-page .content .gift-form .delivery-options span {
    position: static;
    width: 100%;
    min-width: 0;
    max-width: none;
    height: 48px;
    margin: 0;
    padding: 0 8px;
    border: 1px solid transparent;
    box-shadow: none;
    line-height: 1;
    appearance: none;
    font-size: 14px;
  }

  .item-page .content .gift-form .amount-options button {
    display: flex !important;
    flex: none !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 8px !important;
    color: #0a0a0a !important;
    background: #f2f2f2 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-transform: none !important;
    transform: none !important;
    appearance: none !important;
  }

  .item-page .content .gift-form .amount-options button.is-selected {
    color: #fff !important;
    background: #20201f !important;
  }

  .item-page .content .gift-form .amount-options button:hover,
  .item-page .content .gift-form .amount-options button:focus {
    transform: none !important;
  }

  .item-page .content .gift-form .recipient-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 10px;
  }

  .item-page .content .gift-form .gift-recipient-fields input[type="text"] {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    color: #0a0a0a !important;
    background: #fff !important;
    border: 1px solid #dcdcdc !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 48px !important;
    text-align: left !important;
    text-indent: 0 !important;
    text-transform: none !important;
    appearance: none !important;
  }

  .item-page
    .content
    .gift-form
    .gift-recipient-fields
    input[type="text"]::placeholder {
    color: #757571 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    text-align: left !important;
    text-transform: none !important;
    opacity: 1 !important;
  }

  .item-page .content .gift-form .gift-self-fields input {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    color: #0a0a0a !important;
    background: #fff !important;
    border: 1px solid #dcdcdc !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 48px !important;
    text-align: left !important;
    text-transform: none !important;
    appearance: none !important;
  }

  .item-page .content .gift-form .gift-self-fields input::placeholder {
    color: #757571 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    opacity: 1 !important;
  }

  .item-page .content .gift-form input:focus {
    border-color: #0a0a0a !important;
    outline: none !important;
  }

  .item-page .content .gift-form .gift-submit {
    display: flex;
    width: 100%;
    min-width: 0;
    max-width: none;
    height: 48px;
    margin: 0;
    padding: 0 20px;
    color: #fff;
    background: #0a0a0a;
    border: 1px solid #0a0a0a;
    border-radius: 0;
    box-shadow: none;
    appearance: none;
  }

  @media (max-width: 760px) {
    .item-page .content .gift-form,
    .item-page .content .gift-form .amount-input {
      width: 100%;
    }

    .item-page .content .gift-form .amount-input,
    .item-page .content .gift-form .amount-input input {
      height: 48px;
      line-height: 48px;
    }
  }

  /* Способы оплаты */
  .item-page .content .gift-form #bx-soa-paysystem {
    width: 100%;
    margin: 30px 0;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
  }

  .item-page .content .gift-form #bx-soa-paysystem > p {
    margin: 0 0 18px !important;
    padding: 0 !important;
    color: #0a0a0a !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
  }

  .item-page .content .gift-form #bx-soa-paysystem .bx-soa-section-content {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }

  .item-page
    .content
    .gift-form
    #bx-soa-paysystem
    .checkout__payment-radio-group {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .item-page
    .content
    .gift-form
    #bx-soa-paysystem
    .checkout__payment-radio-item {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-height: 43px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .item-page
    .content
    .gift-form
    #bx-soa-paysystem
    .checkout__payment-radio-item
    > input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    opacity: 0 !important;
    pointer-events: none;
  }

  .item-page
    .content
    .gift-form
    #bx-soa-paysystem
    .checkout__payment-radio-item
    > label {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 43px !important;
    margin: 0 !important;
    padding: 0 32px 0 0 !important;
    color: #0a0a0a !important;
    background: transparent !important;
    border: 0 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    text-transform: lowercase !important;
    cursor: pointer !important;
  }

  .item-page
    .content
    .gift-form
    #bx-soa-paysystem
    .checkout__payment-radio-item
    > label::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 16px;
    height: 16px;
    background: #fff;
    border: 2px solid #4c4c4c;
    transform: translateY(-50%);
    box-sizing: border-box;
  }

  .item-page
    .content
    .gift-form
    #bx-soa-paysystem
    .checkout__payment-radio-item
    > input:checked
    + label::before {
    background: #0a0a0a;
    border-color: #0a0a0a;
  }

  .item-page
    .content
    .gift-form
    #bx-soa-paysystem
    .checkout__payment-radio-item
    > input:checked
    + label::after {
    content: "✓";
    position: absolute;
    top: 50%;
    right: 2px;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    transform: translateY(-55%);
  }

  .item-page
    .content
    .gift-form
    #bx-soa-paysystem
    .bx-soa-pp-company-name-container {
    display: block !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .item-page
    .content
    .gift-form
    #bx-soa-paysystem
    .bx-soa-pp-company-logo-container,
  .item-page .content .gift-form #bx-soa-paysystem .checkout-wallet-balance,
  .item-page
    .content
    .gift-form
    #bx-soa-paysystem
    #yandex-pay-checkout-widget {
    display: none !important;
  }


      .gift-checkout,
      .gift-checkout * {
        box-sizing: border-box;
      }

      .gift-checkout {
        position: fixed;
        inset: 0;
        z-index: 1000;
        visibility: hidden;
        opacity: 0;
        transition: opacity .3s ease, visibility .4s;
      }

      .gift-checkout.is-open {
        visibility: visible;
        opacity: 1;
      }

      .gift-checkout__backdrop {
        position: absolute;
        inset: 0;
        border: 0;
        background: rgba(0, 0, 0, .42);
      }

      .gift-checkout__panel {
        position: absolute;
        top: 0;
        right: 0;
        width: min(668px, 100%);
        height: 100%;
        overflow-y: auto;
        background: #fff;
        transform: translateX(100%);
        transition: transform .4s ease;
      }

      .gift-checkout.is-open .gift-checkout__panel {
        transform: translateX(0);
      }

      .gift-checkout__close {
        position: absolute;
        top: 42px;
        right: 42px;
        width: 28px;
        height: 28px;
        padding: 0;
        border: 0;
        background: transparent;
        cursor: pointer;
      }

      .gift-checkout__close::before,
      .gift-checkout__close::after {
        position: absolute;
        top: 13px;
        left: 3px;
        width: 22px;
        height: 1px;
        background: #0a0a0a;
        content: "";
      }

      .gift-checkout__close::before { transform: rotate(45deg); }
      .gift-checkout__close::after { transform: rotate(-45deg); }

      .gift-checkout__content {
        width: min(420px, calc(100% - 48px));
        margin: 0 auto;
        padding: 120px 0 70px;
      }

      .gift-checkout__content h2 {
        margin: 0 0 21px;
        font-size: 30px;
        line-height: 1.1;
        text-align: center;
        text-transform: uppercase;
        white-space: pre-line;
      }

      .gift-checkout__summary {
        margin-bottom: 30px;
        padding-bottom: 22px;
        border-bottom: 1px solid #e4e4e4;
        text-align: center;
      }

      .gift-checkout__summary span,
      .gift-checkout__summary strong {
        display: block;
      }

      .gift-checkout__summary span {
        margin-bottom: 7px;
        color: #aaa;
        font-size: 16px;
      }

      .gift-checkout__summary strong {
        font-size: 18px;
      }

      .checkout-form__field {
        display: grid;
        gap: 8px;
        margin-bottom: 18px;
        font-size: 15px;
      }

      .checkout-form__field input,
      .checkout-form__field textarea,
      .checkout-form__datetime input {
        width: 100%;
        min-height: 48px;
        padding: 0 14px;
        border: 1px solid #d7d7d7;
        border-radius: 0;
        background: #fff;
        font: inherit;
        font-size: 15px;
        outline: none;
        box-shadow: none;
      }

      .checkout-form__field textarea {
        min-height: 96px;
        max-height: 200px;
        padding-top: 13px;
        resize: vertical;
        overflow-y: auto;
        scrollbar-width: none;
      }

      .checkout-form__field textarea::-webkit-scrollbar { display: none; }

      .checkout-form__hint {
        margin: -10px 0 18px;
        color: #bbb;
        font-size: 15px;
      }

      .checkout-form__toggle-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 58px;
        border-top: 1px solid #e7e7e7;
        font-size: 15px;
      }

      .checkout-switch input {
        position: absolute;
        opacity: 0;
      }

      .checkout-switch span {
        position: relative;
        display: block;
        width: 34px;
        height: 20px;
        border-radius: 12px;
        background: #d4d4d4;
        transition: background .2s;
      }

      .checkout-switch span::after {
        position: absolute;
        top: 3px;
        left: 3px;
        width: 14px;
        height: 14px;
        border-radius: 50%;
        background: #fff;
        content: "";
        transition: transform .2s;
      }

      .checkout-switch input:checked + span { background: #20201f; }
      .checkout-switch input:checked + span::after { transform: translateX(14px); }

      .checkout-form__optional[hidden],
      .checkout-form__datetime[hidden] {
        display: none;
      }

      .checkout-form__choices {
        display: grid;
        gap: 0;
        margin: 18px 0 0;
        padding: 18px 0 0;
        border: 0;
        border-top: 1px solid #e7e7e7;
      }

      .checkout-form__choices legend {
        margin-bottom: 10px;
        padding: 0;
        font-size: 15px;
        font-weight: 700;
        text-align: left;
        padding-right: 5px;
      }

      .checkout-form__choices label {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 34px;
        gap: 16px;
        font-size: 15px;
        text-align: left;
        cursor: pointer;
      }

      .checkout-form__choices label span {
        flex: 1;
        order: -1;
        text-align: left;
      }

      .checkout-form__choices input[type="radio"] {
        flex: 0 0 16px;
        width: 16px;
        height: 16px;
        margin: 0;
        appearance: none;
        border: 1px solid #20201f;
        border-radius: 0;
        background: #fff;
      }

      .checkout-form__choices input[type="radio"]:checked {
        background-color: #20201f;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3.5 8 3 3 6-6' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
        background-position: center;
        background-repeat: no-repeat;
        background-size: 14px;
      }

      .checkout-form__datetime {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        margin: 5px 0 10px;
      }
	  
	   .checkout-switch input {
        position: absolute;
        opacity: 0;
      }

      .checkout-switch span {
        position: relative;
        display: block;
        width: 34px;
        height: 20px;
        border-radius: 12px;
        background: #d4d4d4;
        transition: background .2s;
      }

      .checkout-switch span::after {
        position: absolute;
        top: 3px;
        left: 3px;
        width: 14px;
        height: 14px;
        border-radius: 50%;
        background: #fff;
        content: "";
        transition: transform .2s;
      }

      .checkout-switch input:checked + span { background: #20201f; }
      .checkout-switch input:checked + span::after { transform: translateX(14px); }

      .checkout-form__optional[hidden],
      .checkout-form__datetime[hidden] {
        display: none;
      }

      .checkout-form__choices {
        display: grid;
        gap: 0;
        margin: 18px 0 0;
        padding: 18px 0 0;
        border: 0;
        border-top: 1px solid #e7e7e7;
      }

      .checkout-form__choices legend {
        margin-bottom: 10px;
        padding: 0;
        font-size: 15px;
        font-weight: 700;
        text-align: left;
        padding-right: 5px;
      }

      .checkout-form__submit {
        width: 100%;
        min-height: 50px;
        margin-top: 28px;
        border: 0;
        color: #fff;
        background: #20201f;
        font-size: 13px;
        font-weight: 700;
        text-transform: uppercase;
        cursor: pointer;
      }

      body.has-order-drawer {
        overflow: hidden;
      }
	  
	   .checkout-switch input {
        position: absolute;
        opacity: 0;
      }

      .checkout-switch span {
        position: relative;
        display: block;
        width: 34px;
        height: 20px;
        border-radius: 12px;
        background: #d4d4d4;
        transition: background .2s;
      }

      .checkout-switch span::after {
        position: absolute;
        top: 3px;
        left: 3px;
        width: 14px;
        height: 14px;
        border-radius: 50%;
        background: #fff;
        content: "";
        transition: transform .2s;
      }

      .checkout-switch input:checked + span { background: #20201f; }
      .checkout-switch input:checked + span::after { transform: translateX(14px); }


      @media (max-width: 640px) {
        .gift-checkout__close { top: 24px; right: 24px; }
        .gift-checkout__content { padding-top: 80px; }
      }
  
/* Integration of the existing auth form into the approved drawer. */
#gift-checkout [hidden] { display: none !important; }
#gift-checkout .certificate-auth #popup-signin { position: static; display: block; background: none; width: 100%; height: auto; padding: 0; overflow: visible; }
#gift-checkout .certificate-auth #popup-signin .window { position: static; transform: none; width: 100%; max-width: none; padding: 0; margin: 24px 0 0; box-shadow: none; }
#gift-checkout .certificate-auth #popup-signin .window > .close, #gift-checkout .certificate-auth #popup-signin .window > .logo { display: none; }
#gift-checkout .certificate-auth #popup-signin .window { border: 0; min-height: 0; overflow: visible; }
#gift-checkout .certificate-auth #popup-signin .content { position: static; transform: none; width: 100%; max-width: none; left: auto; top: auto; right: auto; padding: 0; }
#gift-checkout .certificate-error { margin: 16px 0; color: #b42318; overflow-wrap: anywhere; }
#gift-checkout .order-form__submit:disabled { opacity: .55; cursor: wait; }

/* Match the basket checkout button while the order is being created. */
#gift-checkout .order-form__submit.is-busy {
    position: relative;
    color: transparent;
    background: #8a8a8a;
    opacity: 1;
    cursor: progress;
}
#gift-checkout .order-form__submit.is-busy::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 16px;
    height: 16px;
    margin: -8px 0 0 -8px;
    border: 2px solid #fff;
    border-top-color: transparent;
    border-radius: 50%;
    animation: rm-button-spin .8s linear infinite;
    pointer-events: none;
}

/* Certificate form feedback and the site's close icon in black. */
.item-page .content .gift-form .amount-input__clear::before {
    content: "";
    display: block;
    width: 30px;
    height: 30px;
    background: url("/img/close5.svg") center / 22px 22px no-repeat;
    filter: brightness(0);
}
.item-page .content .gift-form input[aria-invalid="true"],
#gift-checkout .order-form input[aria-invalid="true"],
#gift-checkout .order-form textarea[aria-invalid="true"] {
    border-color: #c62828 !important;
}
.item-page .content .gift-form .certificate-field-error,
#gift-checkout .certificate-field-error {
    display: block;
    margin: 6px 0 0;
    color: #c62828;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.35;
    text-align: left;
    text-transform: none;
}
#gift-checkout .order-form__field .certificate-field-error { margin-top: 0; }
.item-page .content .gift-form .certificate-field-error[hidden] { display: none !important; }
#gift-checkout .certificate-datetime-field { min-width: 0; }
#gift-checkout.is-auth-step .gift-checkout__summary { margin-bottom: 20px; }
#gift-checkout .certificate-auth .auth-method > h3 { display: none; }
@media (max-width: 640px) {
    #gift-checkout.is-auth-step .gift-checkout__content h2 { font-size: 26px; }
}

button.w100.animate-buy[data-lesson-buy],
button.w100.animate-buy[data-certificate-buy] {
    background: #0a0a0a;
    color: #fff;
    border-color: #0a0a0a;
}
button.w100.animate-buy[data-lesson-buy]:hover,
button.w100.animate-buy[data-certificate-buy]:hover { background: #000; }
.item-page .info button.w100.animate-buy[data-lesson-buy] {
    height: 48px;
    padding: 0 20px;
    font-size: 15px;
}

/* The lesson uses the same purchase drawer, with an additional inline date/time choice. */
#gift-checkout .lesson-schedule { margin: 0 0 28px; padding: 0; min-width: 0; border: 0; }
#gift-checkout .lesson-schedule legend { margin-bottom: 16px; font-size: 15px; font-weight: 700; }
#gift-checkout .lesson-schedule__dates { display: grid; grid-template-columns: 16px minmax(0, 1fr) 16px; gap: 8px; align-items: center; }
#gift-checkout .lesson-schedule__dates[hidden] { display: none; }
#gift-checkout .lesson-schedule__days { min-width: 0; grid-column: 2; grid-row: 1; }
#gift-checkout .lesson-schedule__day { padding: 0 4px; box-sizing: border-box; }
#gift-checkout .lesson-schedule__days .slick-list { touch-action: pan-y; }
#gift-checkout .lesson-schedule button { padding: 10px 0; border: 0; border-radius: 0; background-color: transparent; color: #000; font: inherit; font-size: 15px; text-transform: lowercase; cursor: pointer; }
#gift-checkout .lesson-schedule__days button { display: block; width: 100%; min-height: 62px; border-bottom: 1px solid #e4e4e4; line-height: 1.4; }
#gift-checkout .lesson-schedule__weekday { display: block; font-size: 12px; font-weight: 400; }
#gift-checkout .lesson-schedule__days button[aria-pressed="true"] { border-bottom-color: #000; font-weight: 700; }
#gift-checkout .lesson-schedule .lesson-schedule__prev, #gift-checkout .lesson-schedule .lesson-schedule__next { height: 44px; background: url(/img/secret-arrow.svg) center / 8px 12px no-repeat; }
#gift-checkout .lesson-schedule__prev { grid-column: 1; grid-row: 1; transform: rotate(180deg); }
#gift-checkout .lesson-schedule__next { grid-column: 3; grid-row: 1; }
#gift-checkout .lesson-schedule button:disabled { opacity: .25; cursor: default; }
#gift-checkout .lesson-schedule__times { display: flex; gap: 12px; margin-top: 20px; }
#gift-checkout .lesson-schedule__times label { position: relative; flex: 1; cursor: pointer; }
#gift-checkout .lesson-schedule__times input { position: absolute; width: 1px; height: 1px; opacity: 0; }
#gift-checkout .lesson-schedule__times span { display: block; padding: 11px 8px; border: 1px solid #d7d7d7; text-align: center; font-size: 15px; }
#gift-checkout .lesson-schedule__times input:checked + span { color: #fff; background: #000; border-color: #000; }
#gift-checkout .lesson-schedule button:focus-visible, #gift-checkout .lesson-schedule__times input:focus-visible + span { outline: 1px solid #000; outline-offset: 3px; }
#gift-checkout .lesson-schedule.has-error .lesson-schedule__times span { border-color: #c62828; }
#gift-checkout .lesson-schedule__hint { margin: 12px 0 0; color: #bbb; font-size: 15px; line-height: 1.4; }
#gift-checkout .lesson-schedule__empty { margin: 0; font-size: 15px; }
@media (max-width: 360px) {
    #gift-checkout .lesson-schedule__dates { grid-template-columns: 16px minmax(0, 1fr) 16px; gap: 4px; }
    #gift-checkout .lesson-schedule__day { padding: 0 2px; }
    #gift-checkout .lesson-schedule__days button { font-size: 12px; }
    #gift-checkout .lesson-schedule__weekday { font-size: 11px; }
}

#gift-checkout .checkout-form__timezone { color: #bbb; }

/* End */


/* Start:/local/modules/sentro.certificates/assets/storefront.css?17894742421889*/
.item .info .btn-certificate-card { display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: 100%; height: 45px; padding: 0; border: 1px solid rgba(0,0,0,.1); background: transparent; color: #000; font: 700 18px "Circe"; text-align: center; text-decoration: none; text-transform: uppercase; }
.index-catalog-block.black .item .info .btn-certificate-card { border-color: #fff; background: #fff; }
@media (max-width: 575px) {
    .item .info .btn-certificate-card { font-size: 14px; }
    .fav-page .list:not(.type2) .item .info .btn-certificate-card { position: absolute; right: 0; bottom: 5px; width: 45px; border: 0; font-size: 0; background: transparent url('/img/header-link4.svg') no-repeat center / 25px !important; }
    .fav-page .list.type2 .item .info .btn-certificate-card { margin-top: 10px; color: #000 !important; background: transparent !important; }
}
.certificate-context { margin: 20px 0; }
.certificate-context > p, .certificate-context-state { text-transform: lowercase; }
.certificate-message { margin-top: 24px; }
.certificate-message h3 { margin-bottom: 12px; }
.certificate-message .certificate-message-text { white-space: pre-wrap; overflow-wrap: anywhere; text-transform: none; }
.certificate-faq.blocks { border-top: 1px solid rgb(224,224,224); margin-top: 30px; }
.certificate-faq .block { border-bottom: 1px solid rgb(224,224,224); padding: 15px 0; }
.certificate-faq .block .link { display: block; padding-right: 24px; text-decoration: none; font-weight: 700; text-transform: uppercase; background: url('/img/plus.svg') no-repeat right; cursor: pointer; }
.certificate-faq .block .link.active { background-image: url('/img/minus.svg'); }
.certificate-faq .block .text { margin-top: 10px; line-height: 16px; text-transform: lowercase; display: none; }
.certificate-faq-answer a { color: inherit; text-decoration: underline; }

/* End */
/* /local/templates/main/components/bitrix/catalog.element/certificate/style.css?178947424333240 */
/* /local/modules/sentro.certificates/assets/storefront.css?17894742421889 */
