diff --git a/wp-content/themes/cosmopet/modules/blog/components/editorial/assets/css/style.css b/wp-content/themes/cosmopet/modules/blog/components/editorial/assets/css/style.css
new file mode 100644
index 0000000..f3b59dc
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/blog/components/editorial/assets/css/style.css
@@ -0,0 +1,200 @@
+/* Editorial */
+.editorial {
+ padding-bottom: 68px;
+}
+
+.editorial-head {
+ position: relative;
+ z-index: 1;
+ max-width: 841px;
+ margin-bottom: 37px;
+}
+
+.editorial-head__title {
+ font-size: 82px;
+ line-height: 96px;
+ font-weight: bold;
+ color: var(--main_white);
+ text-transform: uppercase;
+}
+
+.editorial-head__img {
+ position: absolute;
+ z-index: -1;
+ top: -14px;
+ right: -20px;
+ width: 221px;
+}
+
+.editorial-head__star {
+ position: absolute;
+ top: 8.26px;
+ right: -13.5px;
+ transform: translateX(100%);
+ width: 87.5px;
+}
+
+.editorial-card__wrap {
+ display: grid;
+ grid-template-columns: repeat(2, minmax(0, 1fr));
+ gap: 31px 25px;
+ position: relative;
+ z-index: 1;
+}
+
+.editorial-card {
+ border: 2px solid var(--creme-white);
+ border-radius: 30px;
+ display: flex;
+ align-items: stretch;
+ overflow: hidden;
+ background: var(--linear);
+ backdrop-filter: blur(28px);
+}
+
+.editorial-card .main-img {
+ min-height: 282px;
+ width: 207px;
+ border-radius: 29px;
+ overflow: hidden;
+ flex-shrink: 0;
+}
+
+.editorial-card:hover .main-img img{
+ width: 120%;
+ height: 120%;
+}
+
+.editorial-card .main-img img {
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+ transition: all .5s;
+}
+
+.editorial-card__content {
+ padding: 42px 19px 19px 35px;
+}
+
+.editorial-card__content-alerts {
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+ gap: 7px;
+ margin-bottom: 17px;
+}
+
+.editorial-card__content-alerts a {
+ background: var(--main_black);
+ border-radius: 16px;
+ padding: 6px 8px;
+ font-size: 16px;
+ font-weight: 500;
+ line-height: 20px;
+ color: var(--background);
+}
+
+.editorial-card__content-title {
+ font-size: 28px;
+ font-weight: bold;
+ line-height: 32px;
+ color: var(--grey-black);
+ text-transform: uppercase;
+ margin-bottom: 17px;
+}
+
+.editorial-card__content-data {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 5px 16px;
+ color: var(--interface_hover);
+ font-size: 16px;
+ font-weight: 500;
+ line-height: 20px;
+}
+
+.editorial-card__content-data ul {
+ display: flex;
+ align-items: center;
+ gap: 16px;
+}
+
+.editorial-card__content-data li {
+ display: flex;
+ align-items: center;
+ gap: 5px;
+}
+
+.editorial-card__content-data .logo img {
+ width: 24px;
+ height: 24px;
+ border-radius: 50%;
+ object-fit: cover;
+}
+/* Editorial end */
+
+@media (max-width: 1200px) {
+ .editorial-card__wrap {
+ grid-template-columns: repeat(1, minmax(0, 1fr));
+ }
+}
+
+@media (max-width: 992px) {
+ .editorial {
+ padding-bottom: 36px;
+ }
+
+ .editorial-head {
+ margin-bottom: 36px;
+ max-width: 313px;
+ }
+
+ .editorial-head__title {
+ font-size: 32px;
+ line-height: 38px;
+ }
+
+ .editorial-head__img {
+ width: 100px;
+ top: -14px;
+ right: -22.5px;
+ }
+
+ .editorial-head__star {
+ display: none;
+ }
+}
+
+@media (max-width: 576px) {
+ .editorial-card {
+ flex-direction: column;
+ border-radius: 30px;
+ position: relative;
+ }
+
+ .editorial-card .main-img {
+ width: 100%;
+ height: 203px;
+ }
+
+ .editorial-card__content {
+ padding: 17px 13px 24px;
+ }
+
+ .editorial-card__content-alerts {
+ position: absolute;
+ top: 13px;
+ left: 8px;
+ width: calc(100% - 16px);
+ }
+
+ .editorial-card__content-title {
+ font-size: 20px;
+ line-height: 24px;
+ margin-bottom: 17px;
+ }
+
+ .editorial-card__content-data {
+ gap: 5px 16px;
+ }
+}
\ No newline at end of file
diff --git a/wp-content/themes/cosmopet/modules/footer/assets/js/footer.js b/wp-content/themes/cosmopet/modules/footer/assets/js/footer.js
new file mode 100644
index 0000000..bdd6ea3
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/footer/assets/js/footer.js
@@ -0,0 +1,957 @@
+'use strict';
+
+(function ($) {
+ const metaLocale = document.querySelector('meta[property="og:locale"]');
+ const localeValue = metaLocale.getAttribute('content');
+ function wc_cart_summary_upd(){
+ let total = 0
+ $('.cart_item').each(function(){
+ total += Number($(this).data('cost'))
+ })
+ return total
+ }
+ $('[data-pname]').on('click', function(){
+ $('#sub_product_name').val($(this).data('pname'))
+ })
+
+ $(document).on('submit', '.product-item__form, .detail-block__form', function (e) {
+ e.preventDefault();
+ var $form = $(this)
+ var product_qty = $form.find('input[name=quantity]').val() || 1
+ var product_id = $form.find('input[name=product_id]').val()
+ var variation_id = $form.find('input[name=variation_id]').val() || 0;
+ var title = $(this).data('name')
+ var data = {
+ action: 'woocommerce_ajax_add_to_cart',
+ product_id: product_id,
+ product_sku: '',
+ quantity: product_qty,
+ variation_id: variation_id,
+ };
+ dataLayer.push({
+ "ecommerce": {
+ "currencyCode": "RUB",
+ "add": {
+ "products": [
+ {
+ "id": product_id,
+ "name": title,
+ "quantity": product_qty,
+ }
+ ]
+ }
+ }
+ });
+ // $(document.body).trigger('adding_to_cart', [$thisbutton, data]);
+
+ $.ajax({
+ type: 'post',
+ url: woocommerce_params.ajax_url,
+ data: data,
+ beforeSend: function (response) {
+ $form.find('.detail-block-form__submit, .store-add-to-cart').addClass('loading').attr('disabled', true)
+ },
+ complete: function (response) {
+ $form.find('.detail-block-form__submit, .store-add-to-cart').removeClass('loading').attr('disabled', false)
+ },
+ success: function (response) {
+ $('.modal__item.modal__basket').html(response['cart']);
+ if(response['cart_count'] > 0){
+ $('.mini-profile__button--counter').removeClass('disabled').html(response['cart_count'])
+ }
+ else{
+ $('.mini-profile__button--counter').addClass('disabled').html(response['cart_count'])
+ }
+ initCounters();
+ let modalF = document.querySelector('.modal'),
+ aside = document.querySelector('.modal__aside'),
+ device = window.screen.width;
+
+ if(!$.cookie('gp-cosmopet-cartadd')){
+ modalF.classList.add('active');
+ $('.modal__basket').addClass('active');
+ let thisContentElement = document.querySelector('.modal__basket');
+
+ let width = thisContentElement.clientWidth;
+ setTimeout(() => {
+ if (device <= 720) {
+ aside.style.width = `${device}px`;
+ thisContentElement.style.opacity = 1;
+ thisContentElement.style.filter = 'blur(0px)';
+ }else{
+ aside.style.width = `${width}px`;
+ thisContentElement.style.opacity = 1;
+ thisContentElement.style.filter = 'blur(0px)';
+ }
+ }, 10);
+
+ $.cookie('gp-cosmopet-cartadd', 'true', { expires: 2 });
+ }
+ modalClose('.modal__close');
+ },
+ });
+
+ return false;
+ });
+
+ $(document).on('submit', '.modal__form-sub', function (e) {
+ e.preventDefault();
+ var email = $(this).find('input[name="email"]').val()
+ var data = $(this).serialize()
+ $.ajax({
+ type: 'post',
+ url: woocommerce_params.ajax_url,
+ data: data,
+ beforeSend: function (response) {
+ // $thisbutton.removeClass('added').addClass('loading');
+ },
+ complete: function (response) {
+ // $thisbutton.addClass('added').removeClass('loading');
+ },
+ success: function (response) {
+ $('.modal__to-know').removeClass('active')
+ $('#sub-result-email').html(email)
+ $('.modal__to-know-submit').addClass('active').css('filter', 'blur(0px)')
+ },
+ });
+ });
+
+ $(document).on('submit', '.form--contact', function (e) {
+ e.preventDefault();
+ var form = this;
+ var data = $(this).serialize()
+ $.ajax({
+ type: 'post',
+ url: woocommerce_params.ajax_url,
+ data: data,
+ beforeSend: function (response) {
+ // $thisbutton.removeClass('added').addClass('loading');
+ },
+ complete: function (response) {
+ // $thisbutton.addClass('added').removeClass('loading');
+ },
+ success: function (response) {
+ $(form).addClass('submited')
+ },
+ });
+ });
+
+ $('body').on('click', '.modal-basket__item .counter__button', function(){
+ var input = $(this).closest('.counter').find('.counter__input').val()
+ var price = $(this).closest('.modal-basket-item__control').find('.modal-basket-item__price')
+ var productID = $(this).data('id')
+ var pr = $(this).closest('.modal-basket__item').find('.modal-basket__item-before').data('pr')
+ $(price).html(Number(input) * $(price).data('basecost'))
+ $(this).closest('.modal-basket__item').data('cost', Number(price.html()))
+ $('#cart_total').html(wc_cart_summary_upd())
+ var title = $(this).closest('.cart_item').find('.modal-basket-item__title').html()
+ if ($(this).hasClass('minus')){
+ $(this).attr('data-value', Number( $(this).attr('data-value')) - 1)
+
+ if(Number($(this).attr('data-value')) == 0){
+ $(this).closest('.modal-basket__item').find('.modal-basket__item-before').click()
+ }
+ dataLayer.push({
+ "ecommerce": {
+ "currencyCode": "RUB",
+ "remove": {
+ "products": [
+ {
+ "id": pr,
+ "name": title,
+ "quantity": 1,
+ }
+ ]
+ }
+ }
+ });
+ }
+ else{
+ var min = $(this).closest('.counter--small').find('.minus')
+ $(min).attr('data-value', Number($(min).attr('data-value')) + 1)
+ dataLayer.push({
+ "ecommerce": {
+ "currencyCode": "RUB",
+ "add": {
+ "products": [
+ {
+ "id": pr,
+ "name": title,
+ "quantity": 1,
+ }
+ ]
+ }
+ }
+ });
+ }
+ // if ($(this).hasClass('minus') && Number(input) == 1){
+ // $(this).closest('.modal-basket__item').find('.modal-basket__item-before').click()
+ // }
+ var data = {
+ action: 'get_cartprice',
+ quantity: input,
+ product: productID
+ };
+ $.ajax({
+ type: 'post',
+ url: '/wp-admin/admin-ajax.php',
+ data: data,
+ beforeSend: function (response) {
+ // $thisbutton.removeClass('added').addClass('loading');
+ },
+ complete: function (response) {
+ // $thisbutton.addClass('added').removeClass('loading');
+ },
+ success: function (response) {
+ if (response.error) {
+
+ } else {
+// $('#cart_total').html(response)
+ initCounters()
+ if(response['cart_count'] > 0){
+ $('.mini-profile__button--counter').removeClass('disabled').html(response['cart_count'])
+ }
+ else{
+ $('.mini-profile__button--counter').addClass('disabled').html(response['cart_count'])
+ }
+ }
+ },
+ });
+ })
+
+ $('body').on('click', '.product-item-overlay__field .counter__button', function(){
+ var input = $(this).closest('.counter').find('.counter__input').val()
+ var price = $(this).closest('.product-item__form').find('.product-item-overlay__price')
+
+
+ $(price).html(Number(input) * $(price).data('basecost'))
+ })
+
+ $('body').on('click', '.modal-basket__item-before', function(){
+ var key = $(this).data('id')
+ var p_ID = $(this).data('pr');
+ var var_ID = $(this).data('var');
+ var quantity = $(this).closest('.modal-basket__item').find('.counter__input').val()
+ var layout = `
+
+ Удаление товара из корзины: 5 с
+
+
+
+ Восстановить
+
+ `
+ if(localeValue == 'en_US'){
+ var layout = `
+
+ Removing product from cart: 5 s
+
+
+
+ Restore
+
+ `
+ }
+
+ var old_html = $(this).closest('.modal-basket__item').html()
+ $(this).closest('.modal-basket__item').addClass('.modal-basket__item--return').html(layout)
+ var title = $(this).closest('.cart_item').find('.modal-basket-item__title').html()
+
+
+ var timerVal = 5;
+
+ var interval = setInterval(function(){
+ timerVal -= 1;
+ if (timerVal > 0){
+ $(`#${key}_timer`).html(timerVal)
+ }
+ else{
+
+ dataLayer.push({
+ "ecommerce": {
+ "currencyCode": "RUB",
+ "remove": {
+ "products": [
+ {
+ "id": p_ID,
+ "name": title,
+ "quantity": quantity,
+ }
+ ]
+ }
+ }
+ });
+ var input = 0;
+ var productID = key;
+
+ var data = {
+ action: 'get_cartprice',
+ quantity: input,
+ product: productID
+ };
+ $.ajax({
+ type: 'post',
+ url: '/wp-admin/admin-ajax.php',
+ data: data,
+ beforeSend: function (response) {
+ // $thisbutton.removeClass('added').addClass('loading');
+ },
+ complete: function (response) {
+ // $thisbutton.addClass('added').removeClass('loading');
+ },
+ success: function (response) {
+
+ if(response['cart_count'] > 0){
+ $('.mini-profile__button--counter').removeClass('disabled').html(response['cart_count'])
+ }
+ else{
+ $('.mini-profile__button--counter').addClass('disabled').html(response['cart_count'])
+ }
+ },
+ });
+ $(`#${key}_timer`).closest('.modal-basket__item').remove()
+ if (Number(wc_cart_summary_upd()) > 0){
+ $('#cart_total').html(wc_cart_summary_upd())
+ }
+ else{
+ var tmpl = `
+
+ `
+
+ if(localeValue == 'en_US'){
+ var tmpl = `
+
+ `
+ }
+ $('.modal__basket').html(tmpl)
+ }
+ clearInterval(interval);
+ }
+ }, 1000)
+
+
+
+
+ $(`#${key}_return`).one('click', function(){
+ $(this).closest('.modal-basket__item').removeClass('.modal-basket__item--return').html(old_html)
+ clearInterval(interval);
+ })
+ })
+
+ $('body').on('click', '.state__button', function(){
+ var s = $(this).closest('.select')
+ var id = $(this).data('id')
+ var bc = $(this).data('bc')
+
+ var form = $(this).closest('.product-item__form')
+
+ $(form).find('input[name="variation_id"]').val(id)
+ $(form).find('.counter__input').data('maxcount', $(this).data('stock')).attr('data-maxcount', $(this).data('stock'))
+ if (Number($(form).find('.counter__input').val()) > Number($(form).find('.counter__input').data('maxcount'))){
+ $(form).find('.counter__input').val($(form).find('.counter__input').data('maxcount'))
+ }
+ var input = $(form).find('.counter__input').val()
+ $(form).find('.product-item-overlay__price').data('basecost', bc).html(Number(bc) * Number(input))
+ })
+
+ $('body').on('click', '.btn-load-ajax', function(){
+ var page = Number($(this).data('page')) + 1
+ var maxpage = Number($(this).data('maxpage'))
+ var data = {
+ ajax_load: 'ajax',
+ };
+ var btn = this
+ var baseUrl = jQuery(location).attr('origin') + jQuery(location).attr('pathname')
+ baseUrl += 'page/' + page + '/'
+ var searchUrl = baseUrl
+ if (jQuery(location).attr('search')){
+ searchUrl += jQuery(location).attr('search') + '&ajax_search=ajax'
+ }
+ else{
+ searchUrl += '?ajax_search=ajax'
+ }
+ $.ajax({
+ type: 'get',
+ url: searchUrl,
+ data: data,
+ beforeSend: function (response) {
+ $(btn).attr('disabled', true)
+ $(btn).attr('data-page', page)
+ $(btn).data('page', page)
+ },
+ complete: function (response) {
+ if (page >= maxpage){
+ $(btn).remove()
+ }
+ else{
+ $(btn).attr('disabled', false)
+ }
+ },
+ success: function (response) {
+ $('.products').append(response)
+ initCounters()
+ initOverlay()
+ initSelect()
+ modalOpen('.open-to-know', '.modal__to-know');
+
+ /// РЕШЕНИЕ ДЛЯ СТЕНДА AJAX ДЛЯ ПОДГРУЗКИ AJAX
+ document.querySelectorAll('img').forEach(img => {
+ var str = img.attributes['src'].value.replace('https://cosmopet.good-production.xyz/', 'https://cosmopet.shop/')
+ checkImage(str, function(){ img.attributes['src'].value = str });
+ if (img.attributes['srcset']){
+ img.attributes['srcset'].value = img.attributes['srcset'].value.replace('cosmopet.good-production.xyz', '=$main_host?>')
+ }
+ })
+ //
+ },
+ });
+ })
+
+ // $('body').on('click', '.singular-w-btn', function(){
+ // var wg = $(this).data('wg')
+ // var id = $(this).data('id')
+ // $('#variation_id').val(id)
+ // $('.detail__block-price').hide()
+ // $('.detail__block-price[data-wg="' + wg + '"]').show()
+ // if ($(this).data('available')){
+ // $('.detail-block-form__item--tn').hide()
+ // $('.detail-block-form__item--add').show()
+ // }
+ // else{
+ // $('.detail-block-form__item--tn').show()
+ // $('.detail-block-form__item--add').hide()
+ // }
+
+ // })
+ // асинхронный запрос при отправке формы
+ $( '#ajaxform' ).on( 'submit',function( event ) {
+ event.preventDefault();
+
+ const form = $(this);
+
+ $.ajax( {
+ type : 'POST',
+ url : woocommerce_params.ajax_url,
+ data : form.serialize(),
+ beforeSend : function( xhr ) {
+ $('.products').addClass('loading')
+ form.find('.button-submit').addClass('loading').attr('disabled', true)
+ },
+ success : function( data ) {
+ $( '.products' ).html( data.products );
+ $('.product__tag').html(data.tags);
+ $( '.btn-load-ajax' ).remove()
+ form.find('.button-submit').removeClass('loading').attr('disabled', false)
+ form.find('.modal__close').click()
+ $('.products').removeClass('loading')
+ if (data.err){
+ $('.product__error-button').show()
+ }
+ else{
+ $('.product__error-button').hide()
+ }
+
+ initCounters()
+ initOverlay()
+ initSelect()
+ modalOpen('.open-to-know', '.modal__to-know');
+
+ document.querySelectorAll('img').forEach(img => {
+ var str = img.attributes['src'].value.replace('https://cosmopet.good-production.xyz/', 'https://cosmopet.shop/')
+ checkImage(str, function(){ img.attributes['src'].value = str });
+ if (img.attributes['srcset']){
+ img.attributes['srcset'].value = img.attributes['srcset'].value.replace('cosmopet.good-production.xyz', '=$main_host?>')
+ }
+ })
+ }
+
+ } );
+
+ } );
+
+
+ $('body').on('click', '.product-tag__item', function(){
+ $('#tax_' + $(this).data('tag')).find('input').prop('checked', false)
+ $('#tax_' + $(this).data('tag')).removeClass('active');
+ $(this).remove()
+ $('#ajaxform').submit()
+ })
+
+
+ // Login
+ $('.login_popup').on('click', function(e){
+ e.preventDefault();
+ $('.login_modal').addClass('active');
+ });
+ $('.login_close').on('click', function(){
+ $('.login_modal').removeClass('active');
+ });
+ $('.login_back').on('click', function(){
+ if($(this).is('.disabled')) {
+ return false;
+ }
+ $('.login_wrap .step').toggleClass('active');
+ });
+ $('.login_input input').on('input keyup', function(){
+ $('.login_input').removeClass('error');
+ });
+ $('.js-get-code').on('click', function(){
+ $('.login_input').removeClass('error');
+
+ var email = $('.js-input-email input').val();
+ $('.sended_email').text(email);
+
+ if(email === '') {
+ $('.js-input-email').addClass('error');
+ $('.js-input-email .login_error').text(localeValue == 'en_US' ? 'Enter your email' : 'Укажите Email');
+ return false;
+ } else {
+ // Проверка Email
+ $.ajax({
+ type: 'POST',
+ url: '/wp-admin/admin-ajax.php',
+ data: {action: 'email_validate', email:email},
+ success: function(data){
+ if(data['status'] === 'error') {
+ $('.js-input-email').addClass('error');
+ $('.js-input-email .login_error').text(data['text']);
+ return false;
+ } else {
+ $('.login_wrap .step').toggleClass('active');
+ send_code();
+ }
+ }
+ });
+
+ }
+
+ });
+ $('.js-repeat-code').on('click', function(){
+ $('.login_input').removeClass('error');
+ send_code();
+ });
+
+ function send_code(){
+ $('.login_timer').show();
+ $('.js-repeat-code').hide();
+ $('.login_back').addClass('disabled');
+ // Timer
+ var seconds = 15;
+ var interval = setInterval(function() {
+ if (seconds > 0) {
+ seconds--;
+ $('.seconds').text(seconds);
+ } else {
+ clearInterval(interval);
+ $('.login_timer').hide();
+ $('.js-repeat-code').show();
+ $('.login_back').removeClass('disabled');
+ $('.seconds').text(15);
+ }
+ }, 1000);
+ //Ajax отправка кода
+ $.ajax({
+ type: 'POST',
+ url: '/wp-admin/admin-ajax.php',
+ data: {action: 'send_code', email: $('.js-input-email input').val()}
+ });
+ }
+ // Проверка кода и регистрация/авторизация
+ $('.js-input-code input').on('input keydown keyup propertychange paste cut copy change', function(){
+ var val = $(this).val();
+ var email = $('.js-input-email input').val();
+ if(val.length === 4) {
+ $.ajax({
+ type: 'POST',
+ url: '/wp-admin/admin-ajax.php',
+ data: {action: 'check_code', code: val, email: email},
+ success: function(data){
+ console.log(data);
+ if(data['status'] == 'success_reg') {
+ $('.login_forms').addClass('hide');
+ $('.login_success').removeClass('hide');
+ if (typeof wc_checkout_params !== 'undefined') {
+ location.reload()
+ }
+ }
+ if(data['status'] == 'success_auth') {
+ $('.login_forms').addClass('hide');
+ $('.login_auth').removeClass('hide');
+ if (typeof wc_checkout_params !== 'undefined') {
+ location.reload()
+ }
+ }
+ if(data['status'] == 'error') {
+ $('.js-input-code').addClass('error');
+ $('.js-input-code .login_error').text(data['text']);
+ }
+ }
+ });
+ }
+ });
+
+ $('.email_link_form').on('submit', function(e){
+ e.preventDefault();
+ $('.cabinet-card_linked-email .error').remove();
+ var data = $(this).serializeArray();
+ $.ajax({
+ type: 'POST',
+ url: '/wp-admin/admin-ajax.php',
+ data: data,
+ success: function(data){
+ if(data['error']) {
+ $('.cabinet-card_linked-email').append(''+data['error']+'
');
+ } else {
+ location.reload();
+ }
+
+ }
+ });
+ });
+
+
+})(jQuery);
+
+function checkImage(imageSrc, good) {
+ var img = new Image();
+ img.onload = good;
+ img.src = imageSrc;
+}
+// header
+toggleOpenX('.lang', '.lang__open', '.lang__list', '.lang__content', false);
+toggleHeader('#pc-menu','.header__menu-block','.header__pc-menu', '.white', 'white');
+toggleHeader('#phone-menu','.header__menu-block','.header__phone-menu', '.white', 'white');
+// header
+
+
+
+
+
+function initOverlay(){
+
+ // overlay
+let products = document.querySelectorAll('.product__item');
+
+products.forEach(productItem => {
+ let button = productItem.querySelector('.open-overlay'),
+ overlay = productItem.querySelector('.product-item__overlay');
+
+
+ if (button) {
+ button.onclick = function (e) {
+ document.querySelectorAll('.product__item').forEach(e => {
+ if (e.classList.contains('active')) {
+ e.classList.remove('active');
+ }
+ });
+ document.querySelectorAll('.product-item__overlay').forEach(e => {
+ if (e.classList.contains('active')) {
+ e.classList.remove('active');
+ }
+ });
+
+ productItem.classList.toggle('active');
+ overlay.classList.toggle('active');
+ }
+ }
+
+})
+// overlay
+}
+
+initOverlay()
+
+
+function initSelect(){
+
+
+// select
+toggleOpenX('.select', '.select__state' , '.state__content', '.state__block', true);
+
+let selects = document.querySelectorAll('.select');
+
+selects.forEach(select => {
+ let state = select.querySelector('.select__state'),
+ content = select.querySelector('.state__block'),
+ buttons = select.querySelectorAll('.state__button');
+
+ buttons.forEach(e => {
+ let button = e;
+
+ e.onclick = function (event) {
+ event.preventDefault();
+
+ buttons.forEach(element => {
+ if (element.classList.contains('active')) {
+ element.classList.remove('active');
+ }
+ })
+
+ let text = e.textContent.trim();
+ state.value = text;
+
+ button.classList.add('active');
+ content.style.height = 0;
+ select.classList.remove('active');
+ }
+ })
+})
+
+// select
+}
+initSelect()
+
+// counter
+function initCounters(){
+ let counters = document.querySelectorAll('.counter');
+ counters.forEach(e => {
+ let minus = e.querySelector('.minus'),
+ plus = e.querySelector('.plus'),
+ input = e.querySelector('.counter__input');
+ minus.onclick = function (e) {
+ e.preventDefault();
+
+ let number = input.value;
+
+ if (number >= 2){
+ input.value = Number(number) - 1;
+ input.setAttribute('value', input.value)
+ }
+ }
+
+ plus.onclick = function (e) {
+ e.preventDefault();
+
+ let number = input.value;
+ let max = input.dataset.maxcount
+ if (number <= max - 1) {
+ input.value = Number(number) + 1;
+ input.setAttribute('value', input.value)
+ }
+ }
+ })
+}
+
+initCounters()
+// counter
+
+// checkbox
+let checkbox = document.querySelectorAll('.checkbox');
+
+checkbox.forEach(e => {
+ e.onclick = function (event) {
+ let input = e.querySelector('.checkbox__input');
+
+ if (!e.classList.contains('active')) {
+ input.checked = 1;
+ }else{
+ input.checked = 0;
+ }
+ e.classList.toggle('active');
+ }
+})
+// checkbox
+
+
+// function
+function modalOpen(buttonElement, contentElement){
+ let modal = document.querySelector('.modal'),
+ aside = document.querySelector('.modal__aside'),
+ elements = document.querySelectorAll(buttonElement),
+ device = window.screen.width;
+
+ elements.forEach(e => {
+ let thisContentElement = document.querySelector(contentElement);
+
+ e.onclick = function () {
+ modal.classList.add('active');
+ thisContentElement.classList.add('active');
+
+ let width = thisContentElement.clientWidth;
+
+ setTimeout(() => {
+ if (device <= 720) {
+ aside.style.width = `${device}px`;
+ thisContentElement.style.opacity = 1;
+ thisContentElement.style.filter = 'blur(0px)';
+ }else{
+ aside.style.width = `${width}px`;
+ thisContentElement.style.opacity = 1;
+ thisContentElement.style.filter = 'blur(0px)';
+ }
+ }, 10);
+ }
+ })
+}
+
+function modalClose(buttonElement) {
+ let modal = document.querySelector('.modal'),
+ aside = document.querySelector('.modal__aside'),
+ asideItems = document.querySelectorAll('.modal__item'),
+ elements = document.querySelectorAll(buttonElement);
+
+ elements.forEach(e => {
+ e.onclick = function () {
+ aside.style.width = '0px';
+
+ asideItems.forEach(e => {
+ if (e.classList.contains('active')) {
+ e.style.filter = 'blur(10px)';
+ }
+ });
+
+ setTimeout(() => {
+ asideItems.forEach(e => {
+ if (e.classList.contains('active')) {
+ e.classList.remove('active');
+ }
+ });
+
+ modal.classList.remove('active');
+ }, 300);
+ }
+ })
+}
+
+function toggleOpenX(mainElement, buttonElement ,heightElement, contentElement, close) {
+ let elements = document.querySelectorAll(mainElement);
+
+ elements.forEach(e => {
+ let thisMainElement = e,
+ thisButtonElement = e.querySelector(buttonElement),
+ thisHeightElement = e.querySelector(heightElement),
+ thisContentElement = e.querySelector(contentElement);
+
+ thisButtonElement.onclick = function (e) {
+ let height = thisHeightElement.clientHeight;
+
+ if (close == true && !thisMainElement.classList.contains('active')) {
+ elements.forEach(e => {
+ if (e.classList.contains('active')) {
+ e.classList.remove('active');
+ e.querySelector(contentElement).style.height = null
+ }
+ })
+ }
+
+ if (!thisMainElement.classList.contains('active')) {
+ thisContentElement.style.height = `${height}px`;
+ thisMainElement.classList.add('active');
+ }else{
+ thisContentElement.style.height = null;
+ thisMainElement.classList.remove('active');
+ }
+ }
+
+ });
+}
+var menu_opened = false;
+function toggleHeader(button, content, blockheight, removeBlock, removeClass) {
+ let thisButton = document.querySelector(button),
+ thisContent = document.querySelector(content),
+ thisRemoveBlock = document.querySelector(removeBlock) || '',
+ thisBlockheight = document.querySelector(blockheight);
+
+ thisButton.onclick = function () {
+ let height = thisBlockheight.clientHeight;
+
+ if (!thisContent.classList.contains('open')) {
+ thisContent.style.height = `${height}px`;
+ thisContent.classList .add('open');
+
+ if (removeBlock) {
+ thisRemoveBlock.classList.remove(removeClass);
+ }
+ }else{
+ thisContent.style.height = null;
+ thisContent.classList.remove('open');
+
+ if (removeBlock) {
+ if (window.Y <= 25) {
+ thisRemoveBlock.classList.add(removeClass);
+ }
+ }
+ }
+ menu_opened = !menu_opened;
+ }
+}
+
+
+// resize
+window.addEventListener('resize', (e) => {
+ let width = window.screen.width;
+
+ // media
+ modalOpen('.button--filter', '.modal__filter');
+ modalOpen('.basket-open', '.modal__basket');
+ modalOpen('.login-open', '.modal__login');
+ modalOpen('.open-to-know', '.modal__to-know');
+ modalClose('.modal__close');
+ modalClose('.modal-form-sub__close');
+
+ let modalItem = document.querySelectorAll('.modal__item');
+
+ // if (width <= 720) {
+ modalItem.forEach(modal => {
+ if (modal.classList.contains('active')) {
+ let aside = document.querySelector('.modal__aside');
+
+ if (width <= 720) {
+ aside.style.width = `${width}px`
+ }else{
+ let openAside = document.querySelector('.modal__item.active'),
+ newWidth = openAside.clientWidth;
+
+ aside.style.width = `${newWidth}px`
+ }
+ }
+ })
+ // }
+});
+// resize
+
+//
+
+
+if (document.querySelector('.header').classList.contains('white')) {
+ window.addEventListener("scroll", function (e) {
+ let header = document.querySelector('.header');
+ let scroll = window.scrollY;
+ if(!menu_opened){
+ if (scroll >= 25) {
+ header.classList.remove('white')
+ }else{
+
+ header.classList.add('white')
+
+ }
+ }
+
+ });
+}
+// scroll
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/css/profile.css b/wp-content/themes/cosmopet/modules/profile/assets/css/profile.css
new file mode 100644
index 0000000..227b7b1
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/css/profile.css
@@ -0,0 +1,3240 @@
+/* cabinet */
+.cabinet{
+padding: 24px;
+
+display: flex;
+justify-content: space-between;
+}
+.cabinet__control{
+margin: 24px;
+margin-bottom: 0;
+display: none;
+}
+.cabinet-control__button{
+margin-left: 8px;
+
+padding: 12px 16px;
+
+font-family: var(--font-family);
+font-weight: 500;
+font-size: 20px;
+line-height: 120%;
+color: var(--text-black);
+
+background: var(--background-white);
+border: 2px solid var(--text-black);
+border-radius: 48px;
+
+transition: opacity .2s ease-out;
+}
+.cabinet-control__button:first-child{
+margin-left: 0;
+}
+.cabinet-control__button.active{
+background: var(--background-black);
+color: #fff;
+}
+.cabinet-control__button:hover{
+opacity: .8;
+}
+.cabinet__orders{
+width: calc(((100% - 48px) / 3) * 2);
+}
+.cabinet__profile{
+width: calc((100% - 48px) / 3);
+}
+
+.cabinet-card{
+margin-top: 32px;
+
+padding: 1px;
+
+border-radius: 20px;
+}
+.cabinet-card:first-child{
+margin-top: 0;
+}
+.cabinet-card--green{
+background: var(--background-green);
+}
+.cabinet-card--green-white{
+background: var(--background-green-white);
+}
+.cabinet-card--green-white .cabinet-card__content{
+background: none;
+}
+.cabinet-card--red-blue{
+background: var(--gradient-red);
+}
+.cabinet-card--grey{
+background: var(--background-9);
+}
+.cabinet-card__content{
+padding: 23px;
+
+border-radius: 19px;
+
+background-color: var(--background-white);
+}
+.cabinet-card__element{
+margin-top: 24px;
+
+position: relative;
+}
+.cabinet-card__element--margin-top-32{
+margin-top: 32px;
+}
+.cabinet-card__element:first-child,
+.cabinet-card__element--margin-top-32:first-child{
+margin-top: 0
+}
+.cabinet-card__element-change{
+position: absolute;
+top: 14px;
+right: 0;
+
+width: 24px;
+aspect-ratio: 1;
+
+background-image: url(../img/svg/main/change-dot.svg);
+border: none;
+background-color: var(--background-white);
+
+transition: opacity .2s ease-out;
+}
+.cabinet-card__element-change:hover{
+opacity: .8;
+}
+.cabinet-card__title{
+font-family: var(--font-family);
+font-weight: 700;
+font-size: 26px;
+line-height: 123%;
+text-transform: uppercase;
+background: var(--gradient-blue);
+background-clip: text;
+-webkit-background-clip: text;
+-webkit-text-fill-color: transparent;
+}
+.cabinet-card__text{
+font-family: var(--font-family);
+font-weight: 400;
+font-size: 20px;
+line-height: 120%;
+
+color: var(--text-black);
+}
+.cabinet-card__text--grey{
+color: var(--text-grey);
+}
+.cabinet-card__label{
+font-family: var(--font-family);
+font-weight: 700;
+font-size: 16px;
+line-height: 125%;
+
+color: var(--text-3);
+}
+.cabinet-card__status{
+padding-left: 20px;
+
+font-family: var(--font-family);
+font-weight: 500;
+font-size: 12px;
+line-height: 133%;
+
+position: relative;
+color: #121212;
+}
+.cabinet-card__status--chek{
+color: var(--text-green);
+}
+.cabinet-card__status--chek::before{
+content: '';
+
+position: absolute;
+top: 0;
+left: 0;
+
+width: 16px;
+height: 16px;
+
+background-image: url(../img/svg/main/status-chek.svg);
+object-fit: contain;
+}
+.cabinet-card__status--cancelled{
+color: var(--text-red);
+}
+.cabinet-card__status--cancelled::before{
+content: '';
+
+position: absolute;
+top: 0;
+left: 0;
+
+width: 16px;
+height: 16px;
+
+background-image: url(../img/svg/main/status-cancelled.svg);
+object-fit: contain;
+}
+.cabinet-card__block-accounts{
+display: flex;
+}
+.cabinet-card__account{
+margin-left: 16px;
+
+width: 40px;
+aspect-ratio: 1;
+
+display: flex;
+justify-content: center;
+align-items: center;
+
+background: var(--background-9);
+border-radius: 50%;
+}
+.cabinet-card__account:first-child{
+margin-left: 0;
+}
+.cabinet-card__block-buttons{
+display: flex;
+justify-content: space-between;
+align-items: center;
+}
+.cabinet-card__button{
+padding: 8px 8px 6px 0;
+
+font-family: var(--font-family);
+font-weight: 600;
+font-size: 20px;
+line-height: 120%;
+color: var(--text-black);
+
+background: none;
+border: none;
+
+position: relative;
+
+text-decoration: none;
+}
+.cabinet-card__button::before{
+content: '';
+
+position: absolute;
+bottom: 6px;
+
+width: calc(100% - 8px);
+height: 1px;
+
+background: var(--text-black);
+
+transition: opacity .2s ease-out;
+}
+.cabinet-card__button:hover{
+opacity: .8;
+}
+.cabinet-card__confirm{
+margin-top: 16px;
+
+border-radius: 20px;
+padding: 4px 24px;
+
+font-family: var(--font-family);
+font-weight: 600;
+font-size: 20px;
+line-height: 120%;
+
+
+background: var(--background-black);
+color: #fff;
+border: none;
+
+transition: opacity .2s ease-out;
+}
+.cabinet-card__confirm:hover{
+opacity: .8;
+}
+.cabinet-card__text, .cabinet-card__label, .cabinet-card__status, .cabinet-card__block-accounts, .cabinet-card__block-buttons{
+margin-top: 8px;
+}
+.cabinet-card__text:first-child, .cabinet-card__label:first-child, .cabinet-card__status:first-child, .cabinet-card__block-accounts:first-child, .cabinet-card__block-buttons:first-child{
+margin-top: 0px;
+}
+.cabinet-card__block-add-pets{
+width: 100%;
+
+display: flex;
+align-items: center;
+
+background: none;
+border: none;
+}
+.cabinet-card-add-pets__circle{
+width: 48px;
+aspect-ratio: 1;
+
+display: flex;
+justify-content: center;
+align-items: center;
+
+border: 1px solid var(--text-6);
+border-radius: 50%;
+}
+.cabinet-card-add-pets__text{
+margin-left: 16px;
+
+font-family: var(--font-family);
+font-weight: 600;
+font-size: 20px;
+line-height: 120%;
+
+color: var(--text-6);
+
+position: relative;
+}
+.cabinet-card-add-pets__text::after{
+content: '';
+
+position: absolute;
+left: 0;
+bottom: -4px;
+
+width: 100%;
+height: 1px;
+
+background: var(--text-6);
+}
+.cabinet-card__discount{
+display: flex;
+align-items: center;
+}
+.cabinet-card-discount__title{
+font-family: var(--font-family);
+font-weight: 700;
+font-size: 16px;
+line-height: 125%;
+color: var(--text-black);
+}
+.cabinet-card-discount__percent{
+margin-left: 16px;
+
+font-family: var(--font-family);
+font-weight: 700;
+font-size: 16px;
+line-height: 125%;
+color: var(--text-black);
+}
+.cabinet-card-discount__percent::after{
+content: '%';
+}
+.cabinet-card-discount__arrow{
+display: inline-block;
+
+margin-left: 6px;
+
+width: 20px;
+aspect-ratio: 1;
+
+background-image: url(../img/svg/main/arrow-breadcrumbs-black.svg);
+background-position: center;
+}
+.cabinet-card__no-orders{
+margin-top: 32px;
+
+padding: 48px 24px;
+}
+.cabinet-card-no-orders__element{
+margin-top: 26px;
+}
+.cabinet-card-no-orders__element:first-child{
+margin-top: 0;
+}
+.cabinet-card-no-orders__title{
+font-family: var(--font-family);
+font-weight: 500;
+font-size: 24px;
+line-height: 133%;
+text-align: center;
+color: var(--text-black);
+}
+.cabinet-card__pet{
+display: flex;
+align-items: center;
+}
+.cabinet-card-pet__icon{
+width: 48px;
+aspect-ratio: 1;
+
+border-radius: 50%;
+background: var(--gradient-blue);
+}
+.cabinet-card-pet-icon__content{
+margin: 1px;
+
+width: calc(100% - 2px);
+aspect-ratio: 1;
+
+display: flex;
+justify-content: center;
+align-items: center;
+
+border-radius: 50%;
+background: var(--background-white);
+}
+.cabinet-card-pet-icon__content img{
+width: 32px;
+aspect-ratio: 1;
+
+object-fit: contain;
+}
+.cabinet-card-pet__name{
+margin-left: 24px;
+
+font-family: var(--font-family);
+font-weight: 700;
+font-size: 16px;
+line-height: 125%;
+color: var(--text-black);
+}
+.cabinet-card__order{
+position: relative;
+}
+.cabinet-card-order__header{
+display: flex;
+justify-content: space-between;
+align-items: flex-start;
+}
+.cabinet-card-order__main{}
+.cabinet-card-order-main__date{
+font-family: var(--font-family);
+font-weight: 500;
+font-size: 24px;
+line-height: 133%;
+color: var(--text-black);
+}
+.cabinet-card-order-main__number{
+margin-top: 8px;
+
+font-family: var(--font-family);
+font-weight: 500;
+font-size: 12px;
+line-height: 133%;
+color: var(--text-black);
+}
+.cabinet-card-order-main__number::before{
+content: '№';
+}
+.cabinet-card-order__payment{
+display: flex;
+align-items: flex-end;
+
+transition: margin .2s ease-out;
+}
+.cabinet-card-order-payment__title{
+font-family: var(--font-family);
+font-weight: 500;
+font-size: 12px;
+line-height: 133%;
+color: var(--text-black);
+}
+.cabinet-card-order-payment__price{
+margin-left: 8px;
+
+font-family: var(--font-family);
+font-weight: 700;
+font-size: 16px;
+line-height: 125%;
+color: var(--text-black);
+}
+.cabinet-card-order__content{
+margin-top: 24px;
+}
+.cabinet-card-order__content
+.cabinet-card-order__status{
+display: flex;
+align-items: center;
+}
+.cabinet-card-order-status__title{
+font-family: var(--font-family);
+font-weight: 500;
+font-size: 20px;
+line-height: 120%;
+color: var(--text-black);
+}
+.cabinet-card-order-status__pointer{
+margin-left: 12px;
+
+font-family: var(--font-family);
+font-weight: 500;
+font-size: 20px;
+line-height: 120%;
+color: var(--text-black);
+}
+.cabinet-card-order-status__pointer--grey{
+color: var(--text-6);
+}
+.cabinet-card-order-status__pointer--green{
+color: var(--text-green);
+}
+.cabinet-card-order-status__pointer--red{
+color: var(--text-red);
+}
+.cabinet-card-order__block-detail{
+height: 0;
+overflow: hidden;
+
+transition: height .2s ease-out;
+}
+.cabinet-card-order__detail{
+padding-top: 24px;
+}
+.cabinet-card-order-detail__address{}
+.cabinet-card-order-detail-address__title{
+font-family: var(--font-family);
+font-weight: 500;
+font-size: 20px;
+line-height: 120%;
+color: var(--text-black);
+}
+.cabinet-card-order-detail-address__text{
+margin-top: 16px;
+
+font-family: var(--font-family);
+font-weight: 400;
+font-size: 20px;
+line-height: 120%;
+color: var(--text-black);
+}
+.cabinet-card-order-detail__main{
+margin-top: 24px;
+
+display: flex;
+justify-content: space-between;
+}
+.cabinet-card-order-detail-main__products{}
+.cabinet-card-order-detail-main__product{
+margin-top: 4px;
+
+display: flex;
+align-items: center;
+}
+.cabinet-card-order-detail-main__product:first-child{
+margin-top: 0;
+}
+.cabinet-card-order-detail-main-product__img{
+width: 106px;
+height: 96px;
+}
+.cabinet-card-order-detail-main-product__content{
+display: flex;
+}
+.cabinet-card-order-detail-main-product__description{
+width: 212px;
+}
+.cabinet-card-order-detail-main-product-description__what{
+font-family: var(--font-family);
+font-weight: 500;
+font-size: 12px;
+line-height: 133%;
+color: var(--text-black);
+}
+.cabinet-card-order-detail-main-product-description__with-what{
+margin-top: 8px;
+
+font-family: var(--font-family);
+font-weight: 500;
+font-size: 12px;
+line-height: 133%;
+color: var(--text-6);
+}
+.cabinet-card-order-detail-main-product__count{
+margin-left: 8px;
+
+font-family: var(--font-family);
+font-weight: 700;
+font-size: 12px;
+line-height: 133%;
+text-align: right;
+color: var(--text-6);
+}
+.cabinet-card-order-detail-main-product__count::before{
+margin-right: 4px;
+
+content: 'x';
+}
+.cabinet-card-order-detail-main-product__price{
+margin-left: 16px;
+
+font-family: var(--font-family);
+font-weight: 700;
+font-size: 12px;
+line-height: 133%;
+text-align: right;
+color: var(--text-black);
+}
+
+.cabinet-card-order-detail-main__links{
+display: flex;
+flex-direction: column;
+}
+.cabinet-card-order-detail-main__link{
+margin-top: 16px;
+}
+.cabinet-card-order-detail-main__link:first-child{
+margin-top: 0;
+}
+.cabinet-card-order__open-detail{
+margin-top: 24px;
+
+padding-right: 24px;
+
+font-family: var(--font-family);
+font-weight: 500;
+font-size: 20px;
+line-height: 120%;
+color: var(--text-black);
+
+border: none;
+background: none;
+
+position: relative;
+}
+.cabinet-card-order__open-detail::after{
+content: '';
+
+position: absolute;
+top: 6.75px;
+right: 0;
+
+width: 12.5px;
+height: 10.5px;
+
+background-image: url(../../core/img/svg/main/arrow-black.svg);
+background-size: contain;
+background-position: center;
+background-repeat: no-repeat;
+
+transition: transform .2s;
+/* transform: rotate(180deg); */
+}
+.cabinet-card-order-detail-short__item{
+object-fit: contain;
+}
+.cabinet-card-order__detail-short{
+display: flex;
+align-items: center;
+justify-content: flex-end;
+max-width: calc(100% - 250px);
+margin-left: auto;
+overflow: auto;
+/* flex-wrap: wrap; */
+transition: all .2s .1s ease-out;
+}
+.cabinet-card-order__bottom{
+display: flex;
+align-items: flex-end;
+}
+@media (max-width: 768px) {
+.cabinet-card-order__bottom{
+ display: flex;
+ align-items: flex-start;
+ flex-direction: column-reverse;
+ margin-top: 16px;
+}
+.cabinet-card-order__detail-short{
+ max-width: calc(100%);
+ flex-wrap: wrap;
+ justify-content: flex-start;
+ margin-left: 0;
+}
+}
+.cabinet-card-order-detail-short__item{
+border-radius: 16px;
+width: 106px;
+height: 96px;
+}
+.cabinet-card__download{
+margin-top: 32px;
+}
+.cabinet-card__order.active .cabinet-card-order__detail-short{
+opacity: 0;
+height: 0;
+}
+.cabinet-card__order.active .cabinet-card-order__open-detail::after{
+transform: rotate(180deg);
+}
+/* .cabinet-card-no-orders__ */
+.cabinet__subscription-pc{
+}
+.cabinet__subscription-mobile{
+display: none;
+}
+/* cabinet */
+
+.main-page-wrapper{
+margin-top: 20px !important;
+}
+
+
+.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-20_0, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto, .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-20_0, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-20_0, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto, .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto, .col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto {
+padding-right: 0 !important;
+padding-left: 0 !important;
+}
+
+@media only screen and (max-width: 1200px) {
+/* cabinet */
+.cabinet{
+ flex-direction: column;
+
+ position: relative;
+}
+.cabinet__control{
+ display: flex;
+
+ position: relative;
+}
+.cabinet__orders, .cabinet__profile{
+ width: calc(100% - 48px);
+}
+.cabinet__orders, .cabinet__profile{
+ position: absolute;
+ opacity: 0;
+
+ transition: opacity .2s ease-out;
+}
+.cabinet-content{
+ pointer-events:none;
+}
+.cabinet__orders.active, .cabinet__profile.active{
+ opacity: 1;
+}
+.cabinet__orders.hide, .cabinet__profile.hide{
+ position: static;
+ display: block;
+ pointer-events:auto;
+
+ width: 100%;
+}
+.cabinet__subscription-pc{
+ display: none;
+}
+.cabinet__subscription-mobile{
+ display: block;
+
+ margin: 24px 24px 0 24px;
+}
+.cabinet__orders .cabinet-card:nth-child(2){
+ margin-top: 0;
+ }
+/* cabinet */
+}
+@media only screen and (max-width: 750px) {
+ /* cabinet */
+ .cabinet-card-order__open-detail{
+ margin-top: 0px;
+ }
+ .cabinet-card-order__detail-short{
+ right: auto;
+ left: 0;
+ bottom: 48px;
+ }
+ .cabinet-card-order-detail-short__item{
+ margin-left: 10px;
+ }
+ .cabinet-card-order-detail-short__item:first-child{
+ margin-left: 0;
+ }
+ .cabinet-card__order.active .cabinet-card-order__open-detail{
+ margin-top: 24px;
+ }
+ .cabinet-card-order__detail-short{
+ max-width: 100%;
+ }
+ .cabinet-card-order__content, .cabinet-card-order__bottom{
+ margin-top: 0;
+ }
+ /* cabinet */
+ }
+@media only screen and (max-width: 720px) {
+ /* cabinet */
+.cabinet-card__title{
+ font-size: 20px;
+}
+.cabinet-card__no-orders{
+ margin-top: 16px;
+}
+.cabinet-card-order__header{
+ flex-direction: column;
+}
+.cabinet-card-order__payment{
+ margin-top: 16px;
+}
+.cabinet-card-order-detail__main{
+ flex-direction: column;
+}
+.cabinet-card-order-detail-main__links{
+ margin-top: 24px;
+
+ align-items: start;
+}
+.cabinet-card-order-detail-main-product__img{
+ width: 70px;
+ height: 70px;
+}
+.cabinet-card-order-detail-main__product{
+ margin-top: 16px;
+
+ align-items: start;
+}
+.cabinet-card-order-detail-main__products{
+ position: relative;
+}
+.cabinet-card-order-detail-main-product__content{
+ margin-left: 16px;
+
+ flex-wrap: wrap;
+
+
+}
+.cabinet-card-order-detail-main-product__description{
+ width: 100%;
+}
+.cabinet-card-order-detail-main-product__count{
+margin-left: 0;
+margin-top: 7px;
+}
+.cabinet-card-order-detail-main-product__price{
+ margin-top: 7px;
+}
+.cabinet-card__content{
+ padding-right: 19px;
+}
+/* .cabinet-card__order.active */
+/* .cabinet-card__order.active */
+/* cabinet */
+}
+
+@media only screen and (max-width: 576px) {
+ /* cabinet */
+
+.cabinet-card-order-detail-main-product__img{
+ width: 40px;
+ height: 40px;
+}
+
+.cabinet-card-order-detail-main-product__count{
+ left: auto;
+ right: 71px;
+}
+.cabinet-card-order-detail-main-product__price{
+ left: auto;
+ right: 0;
+}
+.cabinet-card-order__detail-short{
+ transition-delay: 0;
+ transition-duration: 0;
+}
+.cabinet-card-order-detail-short__item {
+ border-radius: 16px;
+ width: 80px;
+ height: 80px;
+}
+
+/* cabinet */
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+button{
+ cursor: pointer;
+ }
+
+ .wrapper{
+ margin: 0 auto;
+
+ max-width: 1600px;
+ }
+
+ .main_link{
+ font-size: 24px;
+ font-weight: 500;
+ line-height: 28.8px;
+ color: var(--creme-white, #F4F1F0);
+ width: 221px;
+ height: 50px;
+ padding: 10px;
+ white-space: nowrap;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border-radius: 48px;
+ border: 2px solid var(--creme-white, #F4F1F0);
+ transition: .3s ease all;
+}
+.main_link:hover{
+ background-color: #F4F1F0;
+ color: #121212;
+}
+
+.btn--black-hover:hover{
+ background: #121212 !important;
+ color: #F4F1F0 !important;
+}
+ body{
+ font-family: var(--font-family);
+ }
+
+ :root {
+ --font-family: "Craftwork Grotesk", sans-serif;
+ --second-family: "DIN 2014 Rounded", sans-serif;
+ --third-family: "Roboto", sans-serif;
+ --text-white: #fff;
+ --text-black: #121212;
+ --text-dark: #2b2b3b;
+ --text-grey: #999;
+ --text-red: #fa0505;
+ --text-green: #2ED15D;
+ --text-0: #000;
+ --text-3: #333;
+ --text-6: #666;
+ --text-9: #999;
+ --background-white: #fff;
+ --background-black: #121212;
+ --background-grey: #f2f2f2;
+ --background-green: #2ED15D;
+ --background-green-white: #f4fff0;
+ --background-9: #999;
+ --gradient-blue: radial-gradient(346.57% 244.17% at 149.73% -58.39%, rgb(15, 88, 129) 0%, rgb(30, 164, 156) 51.21689438819885%, rgb(118, 206, 117) 80.70731163024902%, rgb(236, 243, 159) 91.14583134651184%);
+ --gradient-turquoise: radial-gradient(346.57% 244.17% at 149.73% -58.39%, rgb(117, 196, 240) 0%, rgb(126, 231, 225) 51.21689438819885%, rgb(181, 228, 180) 80.70731163024902%, rgb(237, 244, 164) 91.14583134651184%);
+ --gradient-red: linear-gradient(22deg, #f44242 0%, #569ef0 100%);
+}
+
+
+.form{
+ width: 100%;
+
+ padding: 24px 24px 43px;
+
+ display: flex;
+ flex-direction: column;
+
+ position: relative;
+ overflow: hidden;
+ border-radius: 24px;
+ background: var(--gradient-turquoise);
+ }
+ .form.submited .footer-thx{
+ display: flex;
+ }
+ .footer-thx{
+ height: 100%;
+ width: 100%;
+ top: 0;
+ left: 0;
+ text-align: center;
+ position: absolute;
+ display: none;
+ font-size: 32px;
+ align-items: center;
+ justify-content: center;
+ padding: 24px;
+ background: var(--gradient-turquoise);
+ flex-direction: column;
+ }
+ .footer-thx-sub{
+ font-size: 15px;
+ margin-top: 8px;
+ }
+ .form__item{
+ margin-top: 16px;
+ }
+ .form__title{
+ font-family: var(--font-family);
+ font-weight: 500;
+ font-size: 24px;
+ line-height: 133%;
+ color: var(--text-black);
+ }
+ .form__input{
+ width: 100%;
+
+ border-radius: 20px;
+ padding: 12px 16px;
+ border: 1px solid var(--text-black);
+
+ background: var(--background-white);
+
+ font-family: var(--font-family);
+ font-weight: 400;
+ font-size: 20px;
+ line-height: 120%;
+
+ color: var(--text-black);
+ }
+ .form__input::placeholder{
+ color: var(--text-grey);
+ }
+ .form__input--textarea{
+ height: 96px;
+ resize: none;
+ }
+ .form__button{
+ width: 100%;
+
+ padding: 12px 24px;
+
+ font-family: var(--font-family);
+ font-weight: 400;
+ font-size: 20px;
+ line-height: 120%;
+ color: var(--text-white);
+
+ border-radius: 16px;
+ border: none;
+ background: var(--background-black);
+
+ cursor: pointer;
+
+ transition: background-color .2s ease-out;
+ }
+ .form__button:hover{
+ opacity: .8;
+ }
+
+ .label{
+ padding-bottom: 4px;
+
+ display: inline-block;
+
+ position: relative;
+ }
+ .label::after{
+ content: '';
+
+ position: absolute;
+ top: 2px;
+ right: -20px;
+
+ width: 16px;
+ height: 16px;
+
+ background-image: url(../img/svg/main/question.svg);
+
+ cursor: pointer;
+ }
+ .label__title{
+ font-family: var(--font-family);
+ font-weight: 700;
+ font-size: 16px;
+ line-height: 125%;
+ color: var(--text-3);
+ }
+ .label__question{
+ position: absolute;
+
+ padding: 8px;
+ width: max-content;
+ max-width: 200px;
+ border-radius: 6px;
+ transition: height .2s ease-out;
+ box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1), 0 0 2px 0 rgba(0, 0, 0, 0.2);
+ overflow: hidden;
+ background-color: var(--background-white);
+
+ opacity: 0;
+ transition: opacity .2s ease-out;
+ pointer-events: none;
+ }
+ .label:hover .label__question{
+ opacity: 1;
+ pointer-events: auto;
+ }
+
+
+ .social-media{
+ display: flex;
+ align-items: center;
+ }
+ .social-media__item{
+ margin-left: 32px;
+
+ transition: opacity .2s ease-out;
+ }
+ .social-media__item:hover{
+ opacity: .8;
+ }
+ .social-media__item:first-child{
+ margin-left: 0px;
+ }
+ .social-media__icon{
+ width: 32px;
+ aspect-ratio: 1;
+ }
+
+ .breadcrumbs{
+ margin: 24px;
+
+ display: flex;
+ align-items: center;
+ }
+ .breadcrumbs__item{
+ display: block;
+
+ padding: 0px 16px;
+
+ font-family: var(--font-family);
+ font-weight: 700;
+ font-size: 16px;
+ line-height: 125%;
+ color: var(--text-6);
+
+ text-decoration: none;
+
+ position: relative;
+ }
+ .breadcrumbs__item:first-child{
+ padding-left: 0;
+ }
+ .breadcrumbs__item:nth-child(n+2)::before{
+ content: '';
+
+ position: absolute;
+ top: -2px;
+ left: -12px;
+
+ width: 24px;
+ aspect-ratio: 1;
+
+ background-image: url(../img/svg/main/arrow-breadcrumbs.svg);
+ background-repeat: no-repeat;
+ background-size: contain;
+ }
+
+ /* button */
+.button{
+ font-family: var(--font-family);
+ font-weight: 600;
+ font-size: 20px;
+ line-height: 120%;
+ color: var(--text-black);
+
+ border-radius: 20px;
+ text-transform: none;
+ cursor: pointer;
+ }
+ .button--100-perc{
+ width: 100%;
+ }
+ .button--white{
+ padding: 11px 24px;
+
+ text-align: center;
+
+ background-color: var(--background-white);
+ border: 1px solid var(--background-black);
+
+ transition: opacity .2s ease-out;
+ }
+ .button--white:hover{
+ opacity: .8;
+ }
+ .button--white.active{
+ background: var(--background-black);
+ color: var(--background-white);
+ }
+ .button--gradient{
+ background: var(--gradient-turquoise);
+ border: none;
+
+ transition: opacity .2s ease-out;
+ }
+ .button--gradient:hover{
+ opacity: .8;
+ }
+ .button--base{
+ padding: 12px 24px;
+ }
+ .button--high{
+ height: 56px;
+
+ padding: 16px 24px 16px 24px;
+
+ font-weight: 700;
+ text-align: center;
+
+ position: relative;
+ }
+ .button--icon{
+ padding-right: 56px;
+
+ text-align: start;
+ }
+ .button--filter::after{
+ content: '';
+
+ position: absolute;
+ top: 16px;
+ right: 24px;
+
+ width: 24px;
+ aspect-ratio: 1;
+
+ background-image: url(../img/svg/main/filter.svg);
+ background-repeat: no-repeat;
+ background-size: contain;
+ }
+ .button--black{
+ padding: 7px 15px;
+
+ font-family: var(--font-family);
+ font-weight: 500;
+ font-size: 24px;
+ line-height: 133%;
+ color: var(--text-white);
+
+ background: var(--background-black);
+ border: 1px solid var(--text-white);
+ }
+ .button--link{
+ text-decoration: none;
+ }
+ .button--red-48-px{
+ border-radius: 48px;
+ }
+ .to-know{
+ width: 100%;
+
+ padding: 12px;
+
+ display: flex;
+ justify-content: center;
+
+ border: none;
+
+ transition: opacity .2s ease-out;
+ }
+ .to-know:hover{
+ opacity: .8;
+ }
+ .to-know p{
+ padding-bottom: 4px;
+
+ font-family: var(--font-family);
+ font-weight: 700;
+ font-size: 20px;
+ line-height: 120%;
+ color: var(--text-black);
+
+ border-bottom: 1px var(--text-black) solid;
+
+ cursor: pointer;
+ }
+ .to-know--background-none{
+ background: none;
+ }
+ .back{
+ margin-top: 16px;
+ margin-left: 16px;
+
+ padding: 8px;
+ padding-left: 32px;
+
+ background: none;
+ border: none;
+
+ font-family: var(--font-family);
+ font-weight: 600;
+ font-size: 20px;
+ line-height: 120%;
+ color: var(--text-black);
+
+ text-decoration: none;
+
+ position: relative;
+ }
+ .back::before{
+ content: '';
+
+ position: absolute;
+ top: 8px;
+ left: 0;
+
+ margin-right: 8px;
+
+ width: 24px;
+ height: 24px;
+
+ background-image: url(../img/svg/main/arrow-back.svg);
+ }
+
+ .back::after{
+ content: '';
+
+ position: absolute;
+ bottom: 6px;
+ left: 0;
+
+ width: calc(100% - 8px);
+ height: 1px;
+
+ background: var(--text-black);
+ }
+ /* button */
+
+
+ /* select */
+.select{
+ max-width: 144px;
+
+ position: relative;
+ }
+ .select__state{
+ width: 100%;
+
+ padding: 11px 47px 11px 13px;
+
+ /* pointer-events:none; */
+
+ border: 1px solid var(--background-black);
+ border-radius: 20px;
+
+ font-family: var(--font-family);
+ font-weight: 400;
+ font-size: 20px;
+ line-height: 120%;
+ color: var(--text-black);
+
+ cursor: pointer;
+
+ position: relative;
+
+ transition: opacity .2s ease-out;
+ }
+ .select:hover .select__state{
+ opacity: .8;
+ }
+ .select::after{
+ content: '';
+
+ position: absolute;
+ top: 20.5px;
+ right: 21.5px;
+
+ width: 17px;
+ height: 10px;
+
+ background-image: url(../img/svg/main/arrow-black.svg);
+ background-repeat: no-repeat;
+ background-size: contain;
+
+ pointer-events: none;
+ }
+ .state__block{
+ position: absolute;
+ top: 48px;
+ left: 0;
+
+ width: 100%;
+
+ height: 0;
+ overflow: hidden;
+
+ transition: height .2s ease-out;
+ }
+ .state__content{
+ padding: 8px;
+
+ border-radius: 6px;
+ box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1), 0 0 2px 0 rgba(0, 0, 0, 0.2);
+ background-color: var(--background-white);
+
+ list-style-type: none;
+ }
+ .state__content li{
+ margin-top: 8px;
+ }
+ .state__content li:first-child{
+ margin-top: 0;
+ }
+ .state__button{
+ width: 100%;
+
+ padding: 4px 32px 4px 4px;
+
+ background: none;
+ border: none;
+
+ font-family: var(--font-family);
+ font-weight: 400;
+ font-size: 20px;
+ line-height: 120%;
+ color: var(--text-dark);
+ text-align: start;
+
+ border-radius: 6px;
+
+ transition: background-color .2s ease-out;
+
+ position: relative;
+ }
+ .state__button:hover,
+ .state__button.active{
+ background-color: var(--background-grey);
+ }
+
+ .state__button.active::before{
+ content: '';
+ position: absolute;
+ top: 10px;
+ right: 8px;
+ width: 16px;
+ height: 12px;
+ background-image: url(../img/svg/main/arrow-selected.svg);
+ }
+
+ /* select */
+
+ /* counter */
+ .counter{
+ display: flex;
+ align-items: center;
+ }
+ .counter__input{
+ width: 48px;
+
+ font-family: var(--font-family);
+ font-weight: 600;
+ font-size: 20px;
+ line-height: 120%;
+ text-align: center;
+ color: var(--text-black);
+
+ pointer-events: none;
+
+ background: none;
+ border: none;
+ }
+ .counter__button{
+ width: 48px;
+ height: 48px;
+
+ display: flex;
+ justify-content: center;
+ align-items: center;
+
+ border: 1px solid var(--text-3);
+ border-radius: 24px;
+
+ background: var(--background-white);
+
+ transition: opacity .2s ease-out;
+ }
+ .counter__button:hover{
+ opacity: .8;
+ }
+ .counter--small{
+
+ }
+ .counter--small .counter__button{
+ width: 32px;
+ height: 32px;
+ }
+ .counter--small{
+
+ }
+ /* counter */
+
+ /* modal */
+/* modal */
+.modal{
+ position: fixed;
+ top: 0;
+ left: 0;
+
+ padding: 20px;
+
+ width: 100%;
+ height: 100%;
+
+ background: rgba(0, 0, 0, 0.25);
+
+ z-index: 200;
+
+ opacity: 0;
+ transition: opacity .2s ease-out;
+ pointer-events: none;
+
+ display: flex;
+ justify-content: center;
+ align-items: center;
+
+ overflow-y: auto;
+}
+.modal.active{
+ opacity: 1;
+ pointer-events: auto;
+}
+.modal__notification{}
+.form__button-mobile{
+ display: none;
+}
+.modal__aside{
+ position: fixed;
+ top: 0;
+ right: 0;
+
+ width: 0;
+ height: 100%;
+
+ overflow: hidden;
+ transition: width .4s ease-out;
+}
+.modal__item{
+ height: 100%;
+
+ padding: 24px;
+
+ background: var(--background-white);
+
+ position: relative;
+
+ display: none;
+
+ filter: blur(10px);
+ transition: filter .2s ease-out;
+}
+.modal__item--no-title{
+ padding-top: 72px;
+}
+.modal__item.active{
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+}
+.modal__close{
+ position: absolute;
+ top: 32px;
+ right: 24px;
+
+ width: 24px;
+ height: 24px;
+
+ border: none;
+ background: none;
+}
+.modal__header{}
+.modal__title{
+ padding-right: 48px;
+
+ font-family: var(--font-family);
+ font-weight: 700;
+ font-size: 36px;
+ line-height: 111%;
+ text-transform: uppercase;
+ color: var(--text-black);
+}
+.modal__small-title{
+ font-family: var(--font-family);
+ font-weight: 700;
+ font-size: 24px;
+ line-height: 100%;
+ text-transform: uppercase;
+ color: var(--text-black);
+}
+.modal__text{
+ margin-top: 16px;
+
+ padding-right: 10px;
+
+ font-family: var(--font-family);
+ font-weight: 400;
+ font-size: 20px;
+ line-height: 120%;
+ color: var(--text-0);
+}
+.modal__form-sub{
+ margin-top: 48px;
+}
+.modal-form-sub__submit{
+ margin-top: 64px;
+}
+.modal__block-button{
+ margin-top: 24px;
+}
+.modal__button{
+ margin-top: 16px;
+}
+.modal__button:first-child{
+ margin-top: 0;
+}
+.modal__content{
+ margin-top: 24px;
+}
+.modal__filter{
+ width: 400px;
+ overflow-y: auto;
+}
+.modal__footer{
+ border-top: 1px solid var(--text-6);
+ padding-top: 23px;
+}
+.modal__block-price{
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+.modal-block-price__title{
+ font-family: var(--font-family);
+ font-weight: 600;
+ font-size: 20px;
+ line-height: 120%;
+ color: var(--text-black);
+}
+.modal-block-price__price{
+ font-family: var(--font-family);
+ font-weight: 700;
+ font-size: 24px;
+ line-height: 100%;
+ text-transform: uppercase;
+ text-align: right;
+ color: var(--text-black);
+}
+.modal-block-price__price::after{
+ content: 'Р';
+}
+.modal__basket{
+ width: 600px;
+}
+.modal__to-know,
+.modal__to-know-submit{
+ width: 412px;
+}
+
+.modal-basket__item{
+ padding-top: 23px;
+ padding-right: 15px;
+ padding-bottom: 24px;
+
+ display: flex;
+
+ border-top: 1px solid #f2f2f2;
+
+ position: relative;
+}
+.modal-basket__item-before{
+ content: '';
+
+ position: absolute;
+ top: 24px;
+ right: 6px;
+
+ width: 24px;
+ aspect-ratio: 1;
+
+ background-image: url(../img/svg/main/basket.svg);
+ background-repeat: no-repeat;
+ background-position: center;
+
+ cursor: pointer;
+
+ transition: opacity .2s ease-out;
+}
+.modal-basket__item:hover .modal-basket__item::before{
+ opacity: .8;
+}
+.modal-basket__item--return{
+ padding-right: 5px;
+
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+.modal-basket__item--return .modal-basket-item__title{
+ padding-right: 10px;
+}
+.modal-basket__item--return::before{
+ display: none;
+}
+.modal-basket-item__return{
+ border-radius: 20px;
+ padding: 4px 24px;
+
+ font-family: var(--font-family);
+ font-weight: 600;
+ font-size: 20px;
+ line-height: 120%;
+ color: var(--text-white);
+
+ background: var(--background-black);
+
+ border: none;
+}
+.modal-basket-item__block-image{
+ width: 128px;
+ aspect-ratio: 1;
+
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+.modal-basket-item__image{
+ width: 96px;
+ aspect-ratio: 1;
+
+ object-fit: contain;
+}
+.modal-basket-item__content{
+ margin-left: 16px;
+}
+.modal-basket-item__title{
+ padding-right: 40px;
+
+ font-family: var(--font-family);
+ font-weight: 500;
+ font-size: 20px;
+ line-height: 120%;
+ color: var(--text-black);
+}
+.modal-basket-item__sub-title{
+ margin-top: 8px;
+
+ font-family: var(--font-family);
+ font-weight: 700;
+ font-size: 12px;
+ line-height: 133%;
+ color: var(--text-black);
+}
+.modal-basket-item__control{
+ margin-top: 24px;
+
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+.modal-basket-item__price{
+ font-family: var(--font-family);
+ font-weight: 600;
+ font-size: 20px;
+ line-height: 120%;
+ text-align: right;
+ color: var(--text-black);
+}
+.modal-basket-item__price::after{
+ content: 'Р';
+
+ padding-left: 4px;
+}
+.modal__basket .modal__header{
+ height: calc(100% - 92px);
+ margin-bottom: -36px;
+}
+.modal__basket .modal__content{
+ height: calc(100% - 100px);
+ overflow-x: hidden;
+
+}
+.modal__basket .modal__content::-webkit-scrollbar {
+ width: 7px;
+ background-color: #f9f9fd;
+}
+.modal__basket .modal__content::-webkit-scrollbar-thumb {
+ background-color: var(--background-black);
+ border-radius: 2px;
+}
+
+.modal-form{
+ margin: auto;
+
+ width: 600px;
+
+ padding: 24px;
+
+ border-radius: 20px;
+
+ position: relative;
+
+ display: none;
+}
+.modal-form.active{
+ display: block;
+}
+.modal-form--white{
+ border: 1px solid var(--background-black);
+ background: var(--background-white);
+}
+.modal-form--green-gradient{
+ background: var(--gradient-blue);
+}
+.modal-form--width-584{
+ width: 584px;
+}
+.modal-form__close{
+ position: absolute;
+ top: 24px;
+ right: 24px;
+
+ width: 24px;
+ aspect-ratio: 1;
+
+ border: none;
+ background: none;
+ background-image: url(../img/svg/main/black-x.svg);
+ background-repeat: no-repeat;
+ background-size: 24px;
+ background-position: center;
+
+ transition: opacity .2s ease-out;
+}
+.modal-form__close--white{
+ background-image: url(../img/svg/main/white-x.svg);
+}
+.modal-form__close:hover{
+ opacity: .8;
+}
+.modal-form__button-close{}
+.modal-form__title{
+ padding-right: 50px;
+
+ font-family: var(--font-family);
+ font-weight: 700;
+ font-size: 26px;
+ line-height: 123%;
+ text-transform: uppercase;
+ color: var(--text-dark);
+}
+.modal-form__text--center{
+ text-align: center;
+}
+.modal-form__text--center-pc{
+ text-align: center;
+}
+.modal-form__title--green-gradient{
+ background: var(--gradient-blue);
+ background-clip: text;
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
+}
+.modal-form__title--white{
+ color: var(--text-white);
+}
+.modal-form__element{
+ margin-top: 24px;
+}
+.modal-form__element--center{
+ display: flex;
+ justify-content: center;
+}
+.modal-form__element--top-40{
+ margin-top: 40px;
+}
+.modal-form__text{
+ font-family: var(--font-family);
+ font-weight: 400;
+ font-size: 20px;
+ line-height: 120%;
+ color: var(--text-black);
+}
+.modal-form__text--weight-500{
+ font-weight: 500;
+}
+.modal-form__text--white{
+ color: var(--text-white);
+}
+.modal-form__img{
+ width: 100%;
+ height: 360px;
+
+ object-fit: contain;
+}
+.modal-form__content{
+ margin-top: 40px;
+}
+.modal-form-content__line{
+ margin-top: 24px;
+}
+.modal-form-content__line:first-child{
+ margin-top: 0;
+}
+.modal-form-content__line--two{
+ display: flex;
+ justify-content: space-between;
+}
+.modal-form-content-line__element{
+ position: relative;
+}
+.modal-form-content__line--two .modal-form-content-line__element{
+ width: calc(50% - 12px);
+}
+.modal-form-content__line--three{
+ display: flex;
+}
+.modal-form-content__line--three .modal-form-content-line__element:nth-child(1){
+ width: 85px;
+
+ flex-shrink: 0;
+}
+.modal-form-content__line--three .modal-form-content-line__element:nth-child(2){
+ margin-left: 8px;
+
+ width: 100%;
+}
+.modal-form-content__line--three .modal-form-content-line__element:nth-child(3){
+ margin-left: 8px;
+
+ width: 85px;
+
+ flex-shrink: 0;
+}
+.modal-form-content__line--margin-top-16{
+ margin-top: 16px;
+}
+.modal-form__buttons{
+ margin-top: 32px;
+}
+.modal-form__buttons--two{
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.modal-form__buttons--two button,
+.modal-form__buttons--two input{
+ width: calc(50% - 20px);
+}
+.modal-map{
+ margin: auto;
+
+ width: 1105px;
+
+ display: none;
+
+ border-radius: 24px;
+ border: none;
+}
+.modal-map.active{
+ display: flex;
+}
+.modal-map__left{
+ width: 600px;
+
+ padding: 24px;
+
+ position: relative;
+}
+.modal-map__control{
+ margin: 38px -12px -12px -12px;
+
+ display: flex;
+}
+.modal-map-control__item{
+ margin: 12px;
+
+ padding: 2px;
+
+ width: calc(50% - 24px);
+
+ background: var(--background-9);
+ border-radius: 20px;
+ border: none;
+}
+.modal-map-control__item.active{
+ background: var(--gradient-blue);
+}
+.modal-map-control__item.active .form-input-radio__circle::before{
+ content: '';
+ position: absolute;
+ top: 4px;
+ left: 4px;
+ width: 12px;
+ aspect-ratio: 1;
+ border-radius: 50%;
+ background: var(--gradient-blue);
+}
+.modal-map-control-item__content{
+ padding: 14px;
+
+ border-radius: 18px;
+
+ background: var(--background-white);
+}
+.modal-map-control-item__header{
+ display: flex;
+ align-items: center;
+}
+.modal-map-control-item__circle{
+ padding: 2px;
+ width: 20px;
+ aspect-ratio: 1;
+ border-radius: 50%;
+ background: var(--background-9);
+ position: relative;
+}
+.modal-map-control-item-circle__content{
+ width: 16px;
+ aspect-ratio: 1;
+ border-radius: 50%;
+ background: var(--background-white);
+}
+.modal-map-control__item.active .modal-map-control-item__circle{
+ background: var(--gradient-blue);
+}
+.modal-map-control__item.active .modal-map-control-item__circle::before{
+ content: '';
+ position: absolute;
+ top: 4px;
+ left: 4px;
+ width: 12px;
+ aspect-ratio: 1;
+ border-radius: 50%;
+ background: var(--gradient-blue);
+}
+.modal-map-control-item__title{
+ margin-left: 8px;
+
+ font-family: var(--font-family);
+ font-weight: 400;
+ font-size: 20px;
+ line-height: 120%;
+ color: var(--text-dark);
+}
+.modal-map-control-item__description{
+ margin-top: 16px;
+}
+.modal-map-control-item__time{
+ font-family: var(--font-family);
+ font-weight: 500;
+ font-size: 16px;
+ line-height: 125%;
+ color: var(--text-black);
+
+ text-align: start;
+}
+.modal-map-control-item__price{
+ margin-top: 8px;
+
+ font-family: var(--font-family);
+ font-weight: 700;
+ font-size: 12px;
+ line-height: 133%;
+ color: var(--text-6);
+
+ text-align: start;
+}
+.modal-map__form{
+ margin-top: 24px;
+}
+.modal-map-form__hidden{
+
+}
+.modal-map-form__button{
+ margin-top: 83px;
+}
+.modal-map-form__sub-button{
+ display: none;
+}
+.modal-map__right{
+ padding: 16px 0px 16px 16px;
+}
+.modal-map__map{
+ border: 2px solid var(--background-9);
+ border-radius: 16px;
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+.modal-map__map iframe{
+ height: 650px;
+}
+.modal__age{
+
+}
+.modal__age > div{
+ display: none;
+}
+.modal__age > div.active{
+ display: flex;
+}
+/* modal */
+ /* modal */
+
+ /* toggle */
+ .toggle{
+ padding-top: 26px;
+ padding-bottom: 25px;
+
+ border-bottom: 1px solid var(--text-3);
+
+ position: relative;
+ }
+ .toggle::after{
+ content: '';
+
+ position: absolute;
+ top: 24px;
+ right: 0;
+
+ width: 24px;
+ aspect-ratio: 1;
+
+ background-image: url(../img/svg/main/black-x.svg);
+ transform: rotate(45deg);
+ transition: transform .2s;
+ pointer-events: none;
+ }
+ .toggle.active::after{
+ transform: rotate(0deg);
+ }
+ .toggle__title{
+ padding-right: 30px;
+ text-transform: uppercase;
+
+ font-family: var(--font-family);
+ font-weight: 700;
+ font-size: 16px;
+ line-height: 125%;
+ color: var(--text-black);
+ margin-bottom: 0;
+ cursor: pointer;
+ }
+ .toggle__block-content{
+ height: 0;
+ overflow: hidden;
+
+ transition: height .2s ease-out;
+ }
+ .toggle__content{
+ padding-top: 24px;
+ }
+ .toggle-content__item{
+ margin: 12px -12px -12px -12px;
+
+ display: flex;
+ align-items: center;
+ flex-wrap: wrap;
+ }
+ .toggle-content__item:first-child{
+ margin-top: 0;
+ }
+ .toggle-content__element{
+ margin: 12px;
+ }
+ .toggle-content__element--width-perc-100{
+ width: 100%;
+ }
+ .toggle-content__element--width-perc-50{
+ width: calc(50% - 24px);
+ }
+ .toggle__text{
+ font-family: var(--font-family);
+ font-weight: 400;
+ font-size: 20px;
+ line-height: 120%;
+ color: var(--text-black);
+ }
+ /* toggle */
+
+ /* checkbox */
+ .checkbox{
+ display: flex;
+ align-items: center;
+
+ cursor: pointer;
+ }
+ .checkbox__state{
+ border-radius: 4px;
+
+ width: 18px;
+ height: 18px;
+
+ border: 2px solid var(--background-black);
+ background: var(--background-white);
+
+ flex-shrink: 0;
+ }
+ .checkbox.active .checkbox__state{
+ background-color: var(--background-black);
+
+ background-image: url(../img/svg/main/arrow-selected-white.svg);
+ background-repeat: no-repeat;
+ background-position: center;
+ }
+ .checkbox__input{
+ display: none;
+ }
+ .checkbox__label{
+ padding-left: 8px;
+
+ font-family: var(--font-family);
+ font-weight: 400;
+ font-size: 20px;
+ line-height: 120%;
+ color: var(--text-dark);
+
+ cursor: pointer;
+ }
+ .checkbox__label a{
+ color: #76ce75;
+
+ text-decoration: none;
+ }
+ .checkbox--small{
+ margin-top: 24px;
+ }
+ .checkbox--small .checkbox__label{
+ padding-left: 24px;
+
+ font-weight: 500;
+ font-size: 12px;
+ line-height: 133%;
+ }
+ /* checkbox */
+
+ /* radio */
+ .radio{
+ display: flex;
+ align-items: center;
+ }
+ .radio__input{
+ width: 18px;
+ aspect-ratio: 1;
+
+ accent-color: var(--background-black);
+
+ cursor: pointer;
+ }
+ .radio__label{
+ padding-left: 8px;
+
+ font-family: var(--font-family);
+ font-weight: 400;
+ font-size: 20px;
+ line-height: 120%;
+ color: var(--text-dark);
+
+ cursor: pointer;
+ }
+ /* radio */
+
+
+ @keyframes slidein {
+ from {
+ opacity: 0;
+ }
+
+ to {
+ opacity: 1;
+ }
+ }
+
+ .slider-arrow{
+ background-color: transparent;
+ }
+
+ .product__footer{
+ width: 100%;
+ }
+
+ .button.loading{
+ font-size: 0;
+ color: transparent !important;
+ position: relative;
+ }
+ .button.loading::before{
+ content: '';
+ height: 36px;
+ width: 36px;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 100 100' preserveAspectRatio='xMidYMid' width='200' height='200' style='shape-rendering: auto; display: block; background: transparent;'%3E%3Cg%3E%3Ccircle stroke-dasharray='164.93361431346415 56.97787143782138' r='35' stroke-width='10' stroke='%23000000' fill='none' cy='50' cx='50'%3E%3CanimateTransform keyTimes='0;1' values='0 50 50;360 50 50' dur='1s' repeatCount='indefinite' type='rotate' attributeName='transform'/%3E%3C/circle%3E%3Cg/%3E%3C/g%3E%3C!-- %5Bldio%5D generated by https://loading.io --%3E%3C/svg%3E");
+ background-size: contain;
+ background-repeat: no-repeat;
+ }
+
+
+ .products.loading{
+ position: relative;
+ }
+ .products.loading::before{
+ content: '';
+ z-index: 150;
+ height: 100%;
+ width: 100%;
+ position: absolute;
+ top: 0;
+ left: 0;
+ background-color: rgba(255,255,255, .6);
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 100 100' preserveAspectRatio='xMidYMid' width='200' height='200' style='shape-rendering: auto; display: block; background: transparent;'%3E%3Cg%3E%3Ccircle stroke-dasharray='164.93361431346415 56.97787143782138' r='35' stroke-width='10' stroke='%23000000' fill='none' cy='50' cx='50'%3E%3CanimateTransform keyTimes='0;1' values='0 50 50;360 50 50' dur='1s' repeatCount='indefinite' type='rotate' attributeName='transform'/%3E%3C/circle%3E%3Cg/%3E%3C/g%3E%3C!-- %5Bldio%5D generated by https://loading.io --%3E%3C/svg%3E");
+ background-size: 48px;
+ background-position: top 200px center;
+ background-repeat: no-repeat;
+ }
+
+ html{
+ background: #fff !important;
+ }
+
+ .detail__label-wrap{
+ display: flex;
+ flex-wrap: wrap;
+ gap: 5px;
+ }
+
+ .product-item-label__tag--sale{
+ flex-shrink: 0;
+ margin-left: auto;
+ }
+
+ .detail__label-wrap .detail__label .product-item-label__tag:last-child{
+ margin-left: 0;
+ }
+
+ .detail__label-wrap{
+ align-items: center;
+ }
+
+ .open-to-know{
+ background-color: transparent;
+ }
+
+ .detail-block-form__item .open-to-know{
+ width: auto;
+ padding-left: 0;
+ padding-right: 0;
+ margin-right: 0;
+ margin-left: 0;
+ }
+
+ .input-text {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ padding: 12px 16px;
+ gap: 8px;
+ width: 100%;
+ height: 48px;
+ background: #FFFFFF;
+ border: 1px solid #999999;
+ border-radius: 20px;
+ margin-top: 6px;
+ color: #000
+ }
+
+ textarea.input-text{
+ height: 150px;
+ }
+
+ .woocommerce-button{
+ padding: 20px;
+ margin-top: 20px;
+ }
+
+ fieldset{
+ padding: 0;
+ }
+
+
+.radio-button{
+ display: flex;
+ gap: 10px;
+}
+
+
+/* By Max fix add to cart button */
+.store-add-to-cart{
+ min-height: 48px;
+}
+.mini-profile__button{
+ position: relative;
+}
+.mini-profile__button--counter{
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+ padding: 2px;
+ position: absolute;
+ background: var(--gradient-turquoise);
+ border-radius: 10px;
+ width: 16px;
+ height: 16px;
+
+ border-radius: 50%;
+ top: 6px;
+ right: 6px;
+ font-style: normal;
+ font-weight: 700;
+ font-size: 9px;
+ line-height: 16px;
+ color: #121212;
+}
+
+.mini-profile__button--counter.disabled{
+ display: none;
+}
+
+.--text-center{
+ text-align: center;
+}
+
+.post{
+ padding-bottom: 1.5rem;
+}
+
+.login_wrap{
+ min-height: 100%;
+}
+
+.button--high-46{
+ padding: 12px 24px;
+
+ font-size: 20px;
+ font-weight: 700;
+ line-height: 24px;
+}
+
+/* form */
+.form{
+ width: 100%;
+
+ padding: 24px 24px 43px;
+
+ display: flex;
+ flex-direction: column;
+
+ border-radius: 24px;
+ background: var(--gradient-turquoise);
+}
+.form__item{
+ margin-top: 16px;
+}
+.form__title{
+ font-family: var(--font-family);
+ font-weight: 500;
+ font-size: 24px;
+ line-height: 133%;
+ color: var(--text-black);
+}
+.form__input{
+ width: 100%;
+
+ border-radius: 20px;
+ padding: 12px 16px;
+ border: 1px solid var(--text-black);
+
+ background: var(--background-white);
+
+ font-family: var(--font-family);
+ font-weight: 400;
+ font-size: 20px;
+ line-height: 120%;
+
+ color: var(--text-black);
+}
+.form__input::placeholder{
+ color: var(--text-grey);
+}
+.form__input--textarea{
+ height: 96px;
+ resize: none;
+}
+.form__input--center{
+ text-align: center;
+}
+.form__button{
+ width: 100%;
+
+ padding: 12px 24px;
+
+ font-family: var(--font-family);
+ font-weight: 400;
+ font-size: 20px;
+ line-height: 120%;
+ color: var(--text-white);
+
+ border-radius: 16px;
+ border: none;
+ background: var(--background-black);
+
+ cursor: pointer;
+
+ transition: background-color .2s ease-out;
+}
+.form__button:hover{
+ opacity: .8;
+}
+
+.label{
+ padding-bottom: 4px;
+
+ display: inline-block;
+
+ position: relative;
+}
+.label::after{
+ content: '';
+
+ position: absolute;
+ top: 2px;
+ right: -20px;
+
+ width: 16px;
+ height: 16px;
+
+ background-image: url(../img/svg/main/question.svg);
+
+ cursor: pointer;
+}
+.label__title, .form-row label{
+ font-family: var(--font-family);
+ font-weight: 700;
+ font-size: 16px;
+ line-height: 125%;
+ color: var(--text-3);
+}
+.label__question{
+ position: absolute;
+
+ padding: 8px;
+
+ border-radius: 6px;
+ transition: height .2s ease-out;
+ box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1), 0 0 2px 0 rgba(0, 0, 0, 0.2);
+ overflow: hidden;
+ background-color: var(--background-white);
+
+ opacity: 0;
+ transition: opacity .2s ease-out;
+ pointer-events: none;
+}
+.label:hover .label__question{
+ opacity: 1;
+ pointer-events: auto;
+}
+
+.label-name{
+ margin-bottom: 8px;
+
+ font-family: var(--font-family);
+ font-weight: 700;
+ font-size: 16px;
+ line-height: 125%;
+ color: var(--text-black);
+
+ display: block;
+}
+.form-input__error{
+ margin-top: 4px;
+
+ font-family: var(--font-family);
+ font-weight: 500;
+ font-size: 12px;
+ line-height: 133%;
+
+ color: #f60909;
+
+ display: none;
+
+ position: relative;
+}
+.form-input__error--absolute{
+ position: absolute;
+ bottom: -19.95px;
+ left: 0;
+
+ width: 100%;
+}
+.form__input.error, .form-input__phone.error{
+ border-color: #f60909;
+}
+.form__input.error + .form-input__error{
+ display: block;
+}
+.form-input__phone.error .form-input__error{
+ display: block;
+}
+.form-input-phone__input.error + .form-input__error--absolute::before{
+ content: '';
+
+ position: absolute;
+ top: -53px;
+ left: -1px;
+
+ width: 100%;
+ height: 48px;
+
+ border-radius: 20px;
+ border: 1px solid #f60909;
+}
+.form-input__phone{
+ padding: 12px 16px 12px ;
+
+ display: flex;
+ align-items: center;
+
+ border-radius: 20px;
+ border: 1px solid var(--text-black);
+
+ cursor: pointer;
+
+ position: relative;
+}
+.form-input__phone.focus{
+ outline: 1px solid var(--text-black);
+}
+.form-input-phone__icon{
+ flex-shrink: 0;
+
+ height: 16px;
+ width: 28px;
+
+ background-size: 16px;
+ background-repeat: no-repeat;
+ background-position: left;
+
+ position: relative;
+}
+.form-input-phone__icon::after{
+ content: '';
+
+ position: absolute;
+ top: 4px;
+ right: 0;
+
+ width: 8px;
+ aspect-ratio: 1;
+
+ background-image: url(../img/svg/main/triangle-grey.svg);
+}
+.form-input-phone__code{
+ flex-shrink: 0;
+
+ font-family: var(--font-family);
+ font-weight: 400;
+ font-size: 20px;
+ line-height: 120%;
+ color: var(--text-black);
+}
+.form-input-phone__code::before{
+ content: '+';
+}
+.form-input-phone__input{
+ margin-left: 6px;
+
+ font-family: var(--font-family);
+ font-weight: 400;
+ font-size: 20px;
+ line-height: 120%;
+ color: var(--text-black);
+
+ border: none;
+ outline: none;
+}
+.form-input-phone__list{
+ position: absolute;
+ top: 52px;
+ left: 8px;
+
+ width: 280px;
+
+ z-index: 10;
+
+ transition: opacity .2s ease-out;
+
+ opacity: 0;
+ pointer-events: none;
+
+ border-radius: 20px;
+
+ overflow: hidden;
+}
+.form-input-phone__list.active{
+ opacity: 1;
+ pointer-events: auto;
+}
+.form-input-phone-list__search{
+ width: 100%;
+
+ padding: 12px 16px;
+
+ font-family: var(--font-family);
+ font-weight: 400;
+ font-size: 20px;
+ line-height: 120%;
+ color: var(--text-black);
+
+ border-left: 1px solid var(--background-black);
+ border-right: 1px solid var(--background-black);
+ border-top: 1px solid var(--background-black);
+ border-radius: 20px 20px 0 0;
+
+ background: var(--background-white);
+}
+.form-input-phone-list__search::placeholder{
+ color: var(--text-6);
+}
+.form-input-phone-list__content{
+ width: 100%;
+ max-height: 224px;
+
+ padding: 24px 16px;
+
+ border: 1px solid var(--background-black);
+ border-top: none;
+ border-radius: 0 0 20px 20px;
+
+ background: var(--background-white);
+
+ overflow-y: auto;
+}
+.form-input-phone-list__item{
+ margin-top: 14px;
+
+ display: flex;
+ align-items: center;
+
+ background: none;
+ border: none;
+
+ cursor: pointer;
+}
+.form-input-phone-list__item:first-child{
+ margin-top: 0;
+}
+.form-input-phone-list-item__icon{
+ width: 16px;
+ aspect-ratio: 1;
+}
+.form-input-phone-list-item__name{
+ margin-left: 8px;
+
+ font-family: var(--font-family);
+ font-weight: 400;
+ font-size: 20px;
+ line-height: 120%;
+ color: var(--text-black);
+}
+.form-input-phone-list-item__code{
+ margin-left: 8px;
+
+ font-family: var(--font-family);
+ font-weight: 400;
+ font-size: 20px;
+ line-height: 120%;
+ color: var(--text-black);
+}
+.form-input-phone-list-item__code::before{
+ content: '+';
+}
+.form-input__tabs{
+ padding: 2px;
+
+ display: flex;
+
+ border-radius: 20px;
+ background: var(--gradient-turquoise);
+
+ position: relative;
+}
+.form-input-tabs__button{
+ width: 100%;
+ margin-bottom: 0;
+ padding: 10px;
+ cursor: pointer;
+ font-family: var(--font-family);
+ font-weight: 400;
+ font-size: 20px;
+ line-height: 120%;
+ color: var(--text-black);
+ text-align: center;
+
+ border-radius: 18px;
+
+ z-index: 2;
+
+ transition: background-color .2s ease-out;
+}
+.form-input-tabs__button.active{
+ background-color: var(--background-white);
+}
+.form-input-tabs__input{
+ display: none;
+}
+.form-input__radio{
+ padding: 16px;
+
+ display: flex;
+ flex-direction: column;
+}
+.form-input-radio__item{
+ margin-top: 14px;
+
+ display: flex;
+ align-items: center;
+}
+.form-input-radio__item:first-child{
+ margin-top: 0;
+}
+.form-input-radio__circle{
+ padding: 2px;
+
+ width: 20px;
+ aspect-ratio: 1;
+
+ border-radius: 50%;
+
+ background: var(--gradient-blue);
+
+ position: relative;
+}
+.form-input-radio__item.active .form-input-radio__circle::before{
+ content: '';
+
+ position: absolute;
+ top: 4px;
+ left: 4px;
+
+ width: 12px;
+ aspect-ratio: 1;
+
+ border-radius: 50%;
+
+ background: var(--gradient-blue);
+}
+.form-input-radio-circle__content{
+ width: 16px;
+ aspect-ratio: 1;
+
+ border-radius: 50%;
+
+ background: var(--background-white);
+}
+.form-input-radio__title{
+ margin-left: 8px;
+
+ font-family: var(--font-family);
+ font-weight: 400;
+ font-size: 20px;
+ line-height: 120%;
+ color: var(--text-dark);
+}
+.form-input-radio__input{
+ display: none;
+}
+.form-input__list{
+ position: relative;
+}
+.form-input__list::before{
+ content: '';
+ position: absolute;
+ top: 21.5px;
+ right: 19.5px;
+ width: 13px;
+ height: 8px;
+ background-image: url(../img/svg/main/arrow-black.svg);
+ background-repeat: no-repeat;
+ background-size: contain;
+ pointer-events: none;
+}
+.form-input-list__input{
+ width: 100%;
+
+ border-radius: 20px;
+ padding: 12px 16px;
+ padding-right: 40px;
+
+ font-family: var(--font-family);
+ font-weight: 400;
+ font-size: 20px;
+ line-height: 120%;
+ color: var(--text-black);
+
+ border: 1px solid var(--text-black);
+}
+
+.form-input-list__input::placeholder{
+ color: var(--text-grey);
+}
+.form-input-list__block-content{
+ position: absolute;
+ top: 50px;
+ left: 0;
+
+ width: 100%;
+ max-height: 192px;
+ height: 0;
+
+ border-radius: 20px;
+ background-color: var(--background-white);
+
+ overflow: hidden;
+
+ transition: height .2s ease-out;
+
+ z-index: 10;
+}
+.form-input-list__block-content.active{
+ border: 1px solid var(--background-black);
+}
+.form-input-list__content{
+ margin: 8px 16px;
+
+ max-height: 176px;
+
+ padding-right: 16px;
+
+ overflow-y: auto;
+}
+.form-input-list__content::-webkit-scrollbar{
+ border-radius: 8px;
+ width: 4px;
+ background: rgba(204, 204, 204, 0.2);
+}
+.form-input-list__content::-webkit-scrollbar-thumb{
+ border-radius: 8px;
+ background: var(--background-9);
+}
+.form-input-list__content
+.form-input-list__item{
+ margin-top: 16px;
+
+ width: 100%;
+
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+
+ border-radius: 8px;
+ padding: 4px;
+
+ background: none;
+ border: none;
+}
+.form-input-list__item:first-child{
+ margin-top: 0;
+}
+.form-input-list__item.active{
+ background: rgba(204, 204, 204, 0.2);
+}
+.form-input-list-item__text{
+ font-family: var(--font-family);
+ font-weight: 400;
+ font-size: 20px;
+ line-height: 120%;
+ color: var(--text-black);
+}
+.form-input-list-item__box{
+ width: 20px;
+ aspect-ratio: 1;
+
+ padding: 2px;
+
+ border-radius: 4px;
+
+ background: var(--gradient-blue);
+}
+.form-input-list-item-box__content{
+ width: 16px;
+ aspect-ratio: 1;
+
+ border-radius: 2px;
+
+ background: var(--background-white);
+}
+.form-input-list__item.active .form-input-list-item-box__content{
+ background: var(--gradient-blue);
+}
+.remote-control__item{
+ display: none;
+}
+.remote-control__item.active{
+ display: block;
+}
+/* .form-input-radio__ */
+/* form */
+
+
+.v-hidden{
+ position: absolute !important;
+ clip: rect(1px 1px 1px 1px);
+ clip: rect(1px, 1px, 1px, 1px);
+ padding: 0 !important;
+ border: 0 !important;
+ height: 1px !important;
+ width: 1px !important;
+ overflow: hidden;
+}
+
+.form-input-list-item-box__content{
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.modalProfile{
+ position: fixed;
+ top: 0;
+ left: 0;
+
+ padding: 20px;
+
+ width: 100vw;
+ height: 100vh;
+
+ background: rgba(0, 0, 0, 0.25);
+
+ z-index: 200;
+
+ opacity: 0;
+ transition: opacity .2s ease-out;
+ pointer-events: none;
+
+ display: flex;
+ justify-content: center;
+ align-items: center;
+
+ overflow-y: auto;
+ padding-top: 30px;
+ padding-bottom: 30px;
+}
+.modalProfile.active{
+ opacity: 1;
+ pointer-events: auto;
+}
+
+.popup-wrap{
+ width: 100%;
+ height: 100%;
+ display: flex;
+}
+
+.modal-form{
+ margin: auto;
+}
+
+.iti__country-name{
+ color: #000;
+}
+
+.rm{
+ margin-top: 24px;
+}
+
+body {
+ background-color: rgb(255, 255, 255) !important;
+ background-image: none;
+}
+
+.login_inner img{
+ display: block;
+ margin: 40px auto;
+}
+
+
+.product-item__price p::after,
+.modal-basket-item__price::after,
+.modal-block-price__price::after,
+.product-item-overlay__price::after,
+.detail-block-price__price::after {
+content: '₽';
+padding-left: 5px;
+}
+
+.checkout {
+ margin-top: 2rem;
+}
+
+.modal-basket-item__block-image{
+ flex-shrink: 0;
+}
+
+.modal-basket-item__content{
+ flex-grow: 1;
+}
+
+.modal__close{
+ padding: 0;
+}
+
+.woocommerce-order * {
+ color: #000;
+}
+
+.woocommerce-notices-wrapper{
+ position: relative;
+ top: 112px;
+ z-index: 100;
+}
+
+.cabinet__control--column {
+ flex-direction: column;
+}
+
+.form-input__tabs--white{
+ padding: 3px;
+ border: 1px solid var(--text-3);
+ background: var(--white);
+ width: 100%;
+}
+.form-input__tabs--white .form-input-tabs__button.active{
+ background: var(--gradient-turquoise);
+}
+
+.form-input-tabs__button {
+ width: 100%;
+ padding: 10px;
+ font-family: var(--font-family);
+ font-weight: 400;
+ font-size: 20px;
+ line-height: 120%;
+ color: var(--text-black);
+ text-align: center;
+ border-radius: 18px;
+ z-index: 2;
+ transition: background-color .2s ease-out;
+}
+@media (max-width: 1200px) {
+ .cabinet__profile .form-input__tabs{
+ display: none;
+}
+
+}
+
+
+
+.subscription{
+ margin-top: 12px;
+
+}
+.subscription__item{
+ padding: 12px 0;
+ display: flex;
+ justify-content: space-between;
+ border-bottom: 1px solid #999;
+}
+.subscription__item{
+ font-size: 20px;
+}
+.subscription__add{
+ color: var(--text-black);
+}
+.subscription__add-header{
+
+}
+.subscription__add-title{
+ font-size: 24px;
+}
+.subscription__add-content{
+ padding: 24px 0 12px 0;
+}
+.subscription__add-product{
+ align-items: start;
+}
+.subscription__add-product > *:nth-child(3){
+ margin-left: auto;
+ align-items: center;
+}
+.subscription__add .cabinet-card-order-detail-main-product-description__what {
+ font-size: 16px;
+ line-height: 125%;
+}
+.subscription__add .cabinet-card-order-detail-main-product-description__with-what {
+ font-weight: 500;
+ font-size: 16px;
+}
+.subscription__add .cabinet-card-order-detail-main-product__count{
+ font-weight: 700;
+ font-size: 16px;
+ line-height: 100%;
+}
+.subscription__add .cabinet-card-order-detail-main-product__price{
+ font-weight: 500;
+ font-size: 20px;
+ line-height: 120%;
+}
+.subscription__add{
+ width: 100%;
+}
+
+@media only screen and (max-width: 720px) {
+ .subscription__item{
+ flex-direction: column;
+ }
+
+ .subscription__item > p:first-child{
+ font-size: 16px;
+ color: var(--text-6);
+ }
+ .subscription__item > p:last-child{
+ margin-top: 6px;
+ }
+
+ .subscription__add-title {
+ font-size: 20px;
+ }
+
+ .subscription__add-product{
+ flex-wrap: wrap;
+ }
+
+ .subscription__add-product > *:not(:first-child){
+ padding-top: 0;
+ }
+ .subscription__add-product .cabinet-card-order-detail-main-product__img{
+ width: 73px;
+ height: 66px;
+ }
+ .subscription__add-product .cabinet-card-order-detail-main-product-description__what{
+ font-size: 12px;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ overflow: hidden;
+ }
+ .subscription__add-product .cabinet-card-order-detail-main-product-description__with-what{
+ margin-top: 8px;
+
+ font-size: 12px;
+ }
+ .subscription__add-product .cabinet-card-order-detail-main-product__description {
+ width: calc(100% - 73px);
+ }
+ .subscription__add-product .cabinet-card-order-detail-main-product__content{
+ position: static;
+ margin-top: -10px;
+ margin-left: auto;
+ width: calc(100% - 73px);
+
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ }
+ .subscription__add-product .cabinet-card-order-detail-main-product__count{
+ position: static;
+ font-size: 12px;
+ }
+ .subscription__add-product .cabinet-card-order-detail-main-product__price{
+ position: static;
+ font-size: 16px;
+ }
+}
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/modal/about_slider.png b/wp-content/themes/cosmopet/modules/profile/assets/img/modal/about_slider.png
new file mode 100644
index 0000000..f3a8325
Binary files /dev/null and b/wp-content/themes/cosmopet/modules/profile/assets/img/modal/about_slider.png differ
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/pet/cat.png b/wp-content/themes/cosmopet/modules/profile/assets/img/pet/cat.png
new file mode 100644
index 0000000..f88dd36
Binary files /dev/null and b/wp-content/themes/cosmopet/modules/profile/assets/img/pet/cat.png differ
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/pet/dog.png b/wp-content/themes/cosmopet/modules/profile/assets/img/pet/dog.png
new file mode 100644
index 0000000..36e37ae
Binary files /dev/null and b/wp-content/themes/cosmopet/modules/profile/assets/img/pet/dog.png differ
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/pet/mini-cat.png b/wp-content/themes/cosmopet/modules/profile/assets/img/pet/mini-cat.png
new file mode 100644
index 0000000..49233dd
Binary files /dev/null and b/wp-content/themes/cosmopet/modules/profile/assets/img/pet/mini-cat.png differ
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/pet/mini-dog.png b/wp-content/themes/cosmopet/modules/profile/assets/img/pet/mini-dog.png
new file mode 100644
index 0000000..59a696d
Binary files /dev/null and b/wp-content/themes/cosmopet/modules/profile/assets/img/pet/mini-dog.png differ
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/product/image.png b/wp-content/themes/cosmopet/modules/profile/assets/img/product/image.png
new file mode 100644
index 0000000..aaef248
Binary files /dev/null and b/wp-content/themes/cosmopet/modules/profile/assets/img/product/image.png differ
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/product/mini-card.png b/wp-content/themes/cosmopet/modules/profile/assets/img/product/mini-card.png
new file mode 100644
index 0000000..0e0eb02
Binary files /dev/null and b/wp-content/themes/cosmopet/modules/profile/assets/img/product/mini-card.png differ
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/country/ar.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/country/ar.svg
new file mode 100644
index 0000000..4e3a7b3
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/country/ar.svg
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/country/ru.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/country/ru.svg
new file mode 100644
index 0000000..fc991dd
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/country/ru.svg
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/logo/logo-black.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/logo/logo-black.svg
new file mode 100644
index 0000000..4cd0135
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/logo/logo-black.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/logo/logo-gradient.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/logo/logo-gradient.svg
new file mode 100644
index 0000000..9054fde
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/logo/logo-gradient.svg
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/logo/logo-white.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/logo/logo-white.svg
new file mode 100644
index 0000000..22c4489
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/logo/logo-white.svg
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/arrow-back.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/arrow-back.svg
new file mode 100644
index 0000000..a977e53
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/arrow-back.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/arrow-black.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/arrow-black.svg
new file mode 100644
index 0000000..38fe433
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/arrow-black.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/arrow-breadcrumbs-black.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/arrow-breadcrumbs-black.svg
new file mode 100644
index 0000000..88fd149
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/arrow-breadcrumbs-black.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/arrow-breadcrumbs.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/arrow-breadcrumbs.svg
new file mode 100644
index 0000000..f1f9618
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/arrow-breadcrumbs.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/arrow-left.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/arrow-left.svg
new file mode 100644
index 0000000..465c268
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/arrow-left.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/arrow-right.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/arrow-right.svg
new file mode 100644
index 0000000..8952470
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/arrow-right.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/arrow-selected-white.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/arrow-selected-white.svg
new file mode 100644
index 0000000..bb7e90b
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/arrow-selected-white.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/arrow-selected.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/arrow-selected.svg
new file mode 100644
index 0000000..fb283a7
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/arrow-selected.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/basket.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/basket.svg
new file mode 100644
index 0000000..6c08b40
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/basket.svg
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/black-x.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/black-x.svg
new file mode 100644
index 0000000..cb3041d
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/black-x.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/change-dot.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/change-dot.svg
new file mode 100644
index 0000000..f38b6c9
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/change-dot.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/filter.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/filter.svg
new file mode 100644
index 0000000..efa46c8
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/filter.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/google-white.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/google-white.svg
new file mode 100644
index 0000000..4040621
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/google-white.svg
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/gradient-x.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/gradient-x.svg
new file mode 100644
index 0000000..3a19e1f
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/gradient-x.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/minus.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/minus.svg
new file mode 100644
index 0000000..77109fe
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/minus.svg
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/plus-grey.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/plus-grey.svg
new file mode 100644
index 0000000..6fa9039
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/plus-grey.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/plus.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/plus.svg
new file mode 100644
index 0000000..a9db939
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/plus.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/question.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/question.svg
new file mode 100644
index 0000000..2e21e7b
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/question.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/status-cancelled.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/status-cancelled.svg
new file mode 100644
index 0000000..f96648a
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/status-cancelled.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/status-chek.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/status-chek.svg
new file mode 100644
index 0000000..836d49b
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/status-chek.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/triangle-grey.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/triangle-grey.svg
new file mode 100644
index 0000000..23ede66
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/triangle-grey.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/vk-white.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/vk-white.svg
new file mode 100644
index 0000000..556d386
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/vk-white.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/white-x.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/white-x.svg
new file mode 100644
index 0000000..3697346
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/white-x.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/ya-white.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/ya-white.svg
new file mode 100644
index 0000000..a6b4ece
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/main/ya-white.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/mini-profile/basket-w.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/mini-profile/basket-w.svg
new file mode 100644
index 0000000..55eb29f
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/mini-profile/basket-w.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/mini-profile/basket.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/mini-profile/basket.svg
new file mode 100644
index 0000000..fdf6bf8
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/mini-profile/basket.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/mini-profile/profile-w.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/mini-profile/profile-w.svg
new file mode 100644
index 0000000..442e587
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/mini-profile/profile-w.svg
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/mini-profile/profile.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/mini-profile/profile.svg
new file mode 100644
index 0000000..6a48c34
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/mini-profile/profile.svg
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/social-media/tg.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/social-media/tg.svg
new file mode 100644
index 0000000..332942a
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/social-media/tg.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/social-media/vk.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/social-media/vk.svg
new file mode 100644
index 0000000..ef5cadf
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/social-media/vk.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/img/svg/social-media/ya.svg b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/social-media/ya.svg
new file mode 100644
index 0000000..055175d
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/img/svg/social-media/ya.svg
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/wp-content/themes/cosmopet/modules/profile/assets/js/profile.js b/wp-content/themes/cosmopet/modules/profile/assets/js/profile.js
new file mode 100644
index 0000000..0033817
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/assets/js/profile.js
@@ -0,0 +1,96 @@
+'use strict';
+
+
+let widthPhoneCabinet = 1200;
+
+toggleOpenX('.cabinet-card__order', '.cabinet-card-order__open-detail', '.cabinet-card-order__detail', '.cabinet-card-order__block-detail');
+
+function toggleOpenX(mainElement, buttonElement ,heightElement, contentElement, close) {
+ let elements = document.querySelectorAll(mainElement);
+
+ elements.forEach(e => {
+ let thisMainElement = e,
+ thisButtonElement = e.querySelector(buttonElement),
+ thisHeightElement = e.querySelector(heightElement),
+ thisContentElement = e.querySelector(contentElement);
+ if (thisButtonElement){
+thisButtonElement.onclick = function (e) {
+ let height = thisHeightElement.clientHeight;
+
+ if (close == true && !thisMainElement.classList.contains('active')) {
+ elements.forEach(e => {
+ if (e.classList.contains('active')) {
+ e.classList.remove('active');
+ e.querySelector(contentElement).style.height = null
+ }
+ })
+ }
+
+ if (!thisMainElement.classList.contains('active')) {
+ thisContentElement.style.height = `${height}px`;
+ thisMainElement.classList.add('active');
+ }else{
+ thisContentElement.style.height = null;
+ thisMainElement.classList.remove('active');
+ }
+ }
+ }
+
+
+ });
+}
+
+jQuery('.cabinet-card__button').on('click', function(){
+ var id = jQuery(this).data('edit')
+ jQuery(`#pet_edit_` + id).addClass('active')
+})
+
+jQuery('.form-sub__btn').on('click', function(){
+ jQuery(`#subForm`).addClass('active')
+})
+
+jQuery('.user-edit-open').on('click', function(){
+ jQuery(`#user_edit`).addClass('active')
+})
+
+jQuery('.cabinet-card__block-add-pets').on('click', function(){
+ jQuery(`#pet_add_form`).addClass('active')
+})
+
+
+jQuery(document).ready(function ($) {
+ $('.subscription-address-form').on('submit', function (e) {
+ e.preventDefault();
+
+ var $form = $(this);
+ var $message = $form.find('.form-message');
+ var subscriptionId = $form.data('subscription-id');
+ var address = $form.find('input[name="address"]').val();
+ var comment = $form.find('textarea[name="comment"]').val();
+ var nonce = $form.find('input[name="address_nonce"]').val();
+
+ $message.hide().removeClass('success error').empty();
+
+ $.ajax({
+ url: '/wp-admin/admin-ajax.php', // Defined in wp_localize_script
+ type: 'POST',
+ data: {
+ action: 'update_subscription_address',
+ subscription_id: subscriptionId,
+ address: address,
+ comment: comment,
+ address_nonce: nonce
+ },
+ success: function (response) {
+ if (response.success) {
+ $message.addClass('success').text(response.data.message).show();
+ } else {
+ $message.addClass('error').text(response.data.message).show();
+ }
+ },
+ error: function () {
+
+ }
+ });
+ });
+});
diff --git a/wp-content/themes/cosmopet/modules/profile/components/profile/component-controller.php b/wp-content/themes/cosmopet/modules/profile/components/profile/component-controller.php
new file mode 100644
index 0000000..5a40939
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/components/profile/component-controller.php
@@ -0,0 +1,193 @@
+user_firstname;
+$context['last_name'] = $current_user->user_lastname;
+$context['email'] = $current_user->user_email;
+$context['phone'] = get_user_meta($current_user->ID, 'billing_phone', true);
+$context['tg_account'] = get_user_meta($current_user->ID, 'tg_account', true);
+
+// ACF поля для пользователя
+$context['activated'] = get_field('activated', 'user_' . get_current_user_id());
+$context['uuid'] = get_field('uuid', 'user_' . get_current_user_id());
+
+// Запрос для питомцев
+$current_user_id = get_current_user_id();
+if ($current_user_id) {
+ $args = [
+ 'post_type' => 'pets',
+ 'meta_query' => [
+ [
+ 'key' => 'user',
+ 'value' => $current_user_id,
+ 'compare' => '='
+ ]
+ ]
+ ];
+ $context['pets'] = Timber::get_posts($args);
+}
+
+// Заказы пользователя
+$context['customer_orders'] = wc_get_orders(['customer_id' => $current_user->ID]);
+// В page-profile.php, внутри цикла заказов
+
+
+
+
+
+// foreach ($context['customer_orders'] as &$order) {
+// $meta_data = get_post_meta($order->get_id(), 'order_data', true);
+// if (isset($meta_data['office_code'])) {
+// $office_data = json_decode($api->getOffices(['code' => $meta_data['office_code']])['body'], true);
+// $order->office_name = $office_data[0]['name'] ?? '';
+// }
+// }
+
+
+
+
+$context['bot_username'] = defined('BOT_USERNAME') ? BOT_USERNAME : '';
+
+// Текущий пользователь
+$current_user_id = get_current_user_id();
+$context['current_user_id'] = $current_user_id;
+
+
+
+
+
+// Запрос для питомцев
+// if ($current_user_id) {
+// $args = [
+// 'post_type' => 'pets',
+// 'meta_query' => [
+// [
+// 'key' => 'user',
+// 'value' => $current_user_id,
+// 'compare' => '='
+// ]
+// ]
+// ];
+// $pets = Timber::get_posts($args);
+
+// // Обработка ACF-полей для каждого питомца
+// foreach ($pets as &$pet) {
+// // ACF-поля
+// $pet->weight = get_field('weight', $pet->ID);
+// $pet->old = get_field('old', $pet->ID);
+// $pet->activity = get_field('activity', $pet->ID);
+
+// // Перевод веса
+// switch ($pet->weight) {
+// case 'below_1_5':
+// $pet->weight_text = __('from 0,5 kg to 1,5 kg', 'woodmart');
+// break;
+// case '1_5-3':
+// $pet->weight_text = __('from 1.5 to 3 kg', 'woodmart');
+// break;
+// case '3-5':
+// $pet->weight_text = __('from 3 to 5 kg', 'woodmart');
+// break;
+// case '5-8':
+// $pet->weight_text = __('from 5 to 8 kg', 'woodmart');
+// break;
+// case '8-11':
+// $pet->weight_text = __('from 8 to 11 kg', 'woodmart');
+// break;
+// case '11-15':
+// $pet->weight_text = __('from 11 to 15 kg', 'woodmart');
+// break;
+// case '15-20':
+// $pet->weight_text = __('from 15 to 20 kg', 'woodmart');
+// break;
+// case '20-25':
+// $pet->weight_text = __('from 20 to 25 kg', 'woodmart');
+// break;
+// case '25-35':
+// $pet->weight_text = __('from 25 to 35 kg', 'woodmart');
+// break;
+// case 'more_35':
+// $pet->weight_text = __('More than 35 kg', 'woodmart');
+// break;
+// default:
+// $pet->weight_text = '';
+// }
+
+// // Перевод возраста
+// switch ($pet->old) {
+// case 'normal':
+// $pet->old_text = __('Adult (from 1 year to 7 years)', 'woodmart');
+// break;
+// case 'old':
+// $pet->old_text = __('Elderly (from 7 to 12 years)', 'woodmart');
+// break;
+// case 'very_old':
+// $pet->old_text = __('Aging (12 years and older)', 'woodmart');
+// break;
+// case 'baby':
+// $pet->old_text = __('Baby (from 0 to 1 year)', 'woodmart');
+// break;
+// default:
+// $pet->old_text = '';
+// }
+
+// // Перевод активности
+// switch ($pet->activity) {
+// case 'low':
+// $pet->activity_text = __('Low', 'woodmart');
+// break;
+// case 'moderate':
+// $pet->activity_text = __('Moderate', 'woodmart');
+// break;
+// case 'high':
+// $pet->activity_text = __('High', 'woodmart');
+// break;
+// default:
+// $pet->activity_text = '';
+// }
+// }
+
+// $context['pets'] = $pets;
+// }
+
+
+
+
+// Месяцы для локализации
+$context['months'] = [
+ __('january', 'woodmart'),
+ __('february', 'woodmart'),
+ __('march', 'woodmart'),
+ __('april', 'woodmart'),
+ __('may', 'woodmart'), // Исправлено 'mail' на 'may'
+ __('june', 'woodmart'),
+ __('july', 'woodmart'),
+ __('august', 'woodmart'),
+ __('september', 'woodmart'),
+ __('october', 'woodmart'),
+ __('november', 'woodmart'),
+ __('december', 'woodmart'),
+];
+
+
+if ($orders_pg){
+Timber::render('profile/profile-orders.twig', $context);
+}
+else{
+Timber::render('profile/profile.twig', $context);
+}
+
+?>
diff --git a/wp-content/themes/cosmopet/modules/profile/components/subscription_single/component-controller.php b/wp-content/themes/cosmopet/modules/profile/components/subscription_single/component-controller.php
new file mode 100644
index 0000000..ed0fc4f
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/components/subscription_single/component-controller.php
@@ -0,0 +1,143 @@
+ function ($attachment_id, $size = 'thumbnail', $icon = false) {
+ $image = wp_get_attachment_image_src($attachment_id, $size, $icon);
+ return $image ? $image[0] : ''; // Return the URL or empty string
+ },
+ ];
+ return $filters;
+});
+add_filter('timber/twig/functions', function ($functions) {
+ $functions['wc_get_page_permalink'] = [
+ 'callable' => 'wc_get_page_permalink',
+ ];
+ $functions['wc_get_endpoint_url'] = [
+ 'callable' => 'wc_get_endpoint_url',
+ ];
+ $functions['is_wc_endpoint_url'] = [
+ 'callable' => 'is_wc_endpoint_url',
+ ];
+ $functions['get_permalink'] = [
+ 'callable' => 'get_permalink',
+ ];
+ $functions['get_the_ID'] = [
+ 'callable' => 'get_the_ID',
+ ];
+ $functions['pll_e'] = [
+ 'callable' => 'pll_e',
+ ];
+ return $functions;
+});
+
+// Get subscription ID from URL (e.g., /my-account/view-subscription/7632/)
+
+ $request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';
+ if (preg_match('/view-subscription\/(\d+)/', $request_uri, $matches)) {
+ $subscription_id = absint($matches[1]);
+ }
+
+
+$subscription = $subscription_id ? wcs_get_subscription($subscription_id) : null;
+
+if (!$subscription || !wcs_is_subscription($subscription) || $subscription->get_user_id() !== get_current_user_id()) {
+ error_log('Invalid or inaccessible subscription ID: ' . $subscription_id);
+ $subscription = null;
+} else {
+ error_log('Subscription ID: ' . $subscription->get_id() . ' | Status: ' . $subscription->get_status());
+
+ $items = array_map(function ($item) {
+ $product_id = $item->get_product_id();
+ $variation_id = $item->get_variation_id();
+ $wc_product = $product_id ? wc_get_product($variation_id ?: $product_id) : null;
+ $product_name = $wc_product ? $wc_product->get_name() : 'Unknown Product';
+ $image_id = $wc_product ? $wc_product->get_image_id() : 0;
+ $status = $product_id ? get_post_status($product_id) : 'N/A';
+ $permalink = $wc_product && $wc_product->is_visible() ? get_permalink($product_id) : '';
+ $variation_details = $variation_id ? wc_get_formatted_variation($wc_product, true) : '';
+ error_log('Item ID: ' . $item->get_id() . ' | Product ID: ' . $product_id . ' | Variation ID: ' . $variation_id . ' | Name: ' . $product_name . ' | Permalink: ' . $permalink . ' | Status: ' . $status);
+
+ return [
+ 'product' => [
+ 'id' => $product_id ?: 0,
+ 'name' => $product_name,
+ 'image_id' => $image_id,
+ 'variation_details' => $variation_details,
+ ],
+ 'quantity' => $item->get_quantity(),
+ 'total' => $item->get_total(),
+ ];
+ }, $subscription->get_items());
+
+
+ $cancel_url = '';
+ if ($subscription->can_be_updated_to('cancelled')) {
+ $cancel_url = add_query_arg(
+ [
+ 'subscription_id' => $subscription->get_id(),
+ 'change_subscription_to' => 'cancelled',
+ '_wpnonce' => wp_create_nonce('wcs_switch_request'),
+ ],
+ wc_get_endpoint_url('view-subscription', $subscription->get_id(), wc_get_page_permalink('myaccount'))
+ );
+ }
+
+ $subscription_data = [
+ 'id' => $subscription->get_id(),
+ 'status' => $subscription->get_status(),
+ 'date_created' => $subscription->get_date_created(),
+ 'last_order_date' => $subscription->get_date('last_order_date_created'),
+ 'next_payment_date' => $subscription->get_date('next_payment'),
+ 'payment_method_title' => $subscription->get_payment_method_title(),
+ 'total' => $subscription->get_total(),
+ 'currency' => $subscription->get_currency(),
+ 'items' => $items,
+ 'cancel_url' => $cancel_url,
+ 'shipping_address' => $subscription->get_formatted_shipping_address(),
+ 'shipping_comment' => $subscription->get_customer_note(),
+ ];
+}
+
+// Timber context
+$context = Timber::context();
+
+$current_user = wp_get_current_user();
+$context['current_user'] = $current_user;
+$context['first_name'] = $current_user->user_firstname;
+$context['last_name'] = $current_user->user_lastname;
+$context['email'] = $current_user->user_email;
+$context['phone'] = get_user_meta($current_user->ID, 'billing_phone', true);
+$context['tg_account'] = get_user_meta($current_user->ID, 'tg_account', true);
+
+// ACF поля для пользователя
+$context['activated'] = get_field('activated', 'user_' . get_current_user_id());
+$context['uuid'] = get_field('uuid', 'user_' . get_current_user_id());
+
+// Запрос для питомцев
+$current_user_id = get_current_user_id();
+if ($current_user_id) {
+ $args = [
+ 'post_type' => 'pets',
+ 'meta_query' => [
+ [
+ 'key' => 'user',
+ 'value' => $current_user_id,
+ 'compare' => '='
+ ]
+ ]
+ ];
+ $context['pets'] = Timber::get_posts($args);
+}
+$context['bot_username'] = defined('BOT_USERNAME') ? BOT_USERNAME : '';
+$context['subscription'] = $subscription_data;
+
+// Debug: Log subscription data
+error_log('Subscription Data: ' . print_r($subscription_data, true));
+
+// Render the Twig template
+Timber::render('profile/profile-subs-single.twig', $context);
+?>
diff --git a/wp-content/themes/cosmopet/modules/profile/components/subscriptions/component-controller.php b/wp-content/themes/cosmopet/modules/profile/components/subscriptions/component-controller.php
new file mode 100644
index 0000000..b31fc70
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/components/subscriptions/component-controller.php
@@ -0,0 +1,107 @@
+ function ($attachment_id, $size = 'thumbnail', $icon = false) {
+ $image = wp_get_attachment_image_src($attachment_id, $size, $icon);
+ return $image ? $image[0] : ''; // Return the URL or empty string
+ },
+ ];
+ return $filters;
+});
+
+
+use Timber\Timber;
+
+
+$context = Timber::context();
+if (!class_exists('WC_Subscriptions')) {
+ error_log('WooCommerce Subscriptions plugin is not active.');
+ return;
+}
+
+// Get the current user’s subscriptions
+$user_id = get_current_user_id();
+$subscriptions = wcs_get_users_subscriptions($user_id);
+
+$subscription_data = [];
+foreach ($subscriptions as $subscription) {
+ $view_url = $subscription->get_view_order_url();
+ // Debug: Log the view_url to check its value
+ error_log('Subscription ID: ' . $subscription->get_id() . ' | View URL: ' . $view_url);
+
+ $subscription_data[] = [
+ 'id' => $subscription->get_id(),
+ 'date_created' => $subscription->get_date_created(),
+ 'total' => $subscription->get_total(),
+ 'currency' => $subscription->get_currency(),
+ 'billing_period' => $subscription->get_billing_period(),
+ 'next_payment_date' => $subscription->get_date('next_payment'),
+ 'view_url' => esc_url($view_url), // Ensure URL is escaped for safety
+ 'items' => array_map(function ($item) {
+ $product = $item->get_product();
+ return [
+ 'product' => [
+ 'name' => $product->get_name(),
+ 'image_id' => $product->get_image_id(),
+ ],
+ ];
+ }, $subscription->get_items()),
+ ];
+}
+
+$context['subscriptions'] = $subscription_data;
+
+// Debug: Log the entire subscriptions array
+error_log('Subscriptions Data: ' . print_r($subscription_data, true));
+
+// Render the Twig template
+
+$current_user = wp_get_current_user();
+$context['current_user'] = $current_user;
+$context['first_name'] = $current_user->user_firstname;
+$context['last_name'] = $current_user->user_lastname;
+$context['email'] = $current_user->user_email;
+$context['phone'] = get_user_meta($current_user->ID, 'billing_phone', true);
+$context['tg_account'] = get_user_meta($current_user->ID, 'tg_account', true);
+
+// ACF поля для пользователя
+$context['activated'] = get_field('activated', 'user_' . get_current_user_id());
+$context['uuid'] = get_field('uuid', 'user_' . get_current_user_id());
+$context['bot_username'] = defined('BOT_USERNAME') ? BOT_USERNAME : '';
+// Запрос для питомцев
+$current_user_id = get_current_user_id();
+if ($current_user_id) {
+ $args = [
+ 'post_type' => 'pets',
+ 'meta_query' => [
+ [
+ 'key' => 'user',
+ 'value' => $current_user_id,
+ 'compare' => '='
+ ]
+ ]
+ ];
+ $context['pets'] = Timber::get_posts($args);
+}
+
+// Месяцы для локализации
+$context['months'] = [
+ __('january', 'woodmart'),
+ __('february', 'woodmart'),
+ __('march', 'woodmart'),
+ __('april', 'woodmart'),
+ __('may', 'woodmart'),
+ __('june', 'woodmart'),
+ __('july', 'woodmart'),
+ __('august', 'woodmart'),
+ __('september', 'woodmart'),
+ __('october', 'woodmart'),
+ __('november', 'woodmart'),
+ __('december', 'woodmart'),
+];
+
+Timber::render('profile/profile-subs.twig', $context);
+?>
diff --git a/wp-content/themes/cosmopet/modules/profile/module-ajax-controller.php b/wp-content/themes/cosmopet/modules/profile/module-ajax-controller.php
new file mode 100644
index 0000000..6d9fde9
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/module-ajax-controller.php
@@ -0,0 +1,134 @@
+ get_current_user_id(),
+ 'first_name' => $_POST['name'],
+ 'last_name' => $_POST['l_name'],
+
+ ) );
+
+ $phone = update_user_meta( get_current_user_id(), 'billing_phone', $_POST['phone'] );
+
+}
+
+function ajax_add_pet() {
+ $current_user = wp_get_current_user();
+ // Подготовка данных
+ $pet_name = $_POST['name'];
+ $old_type = $_POST['old_type'];
+ if ($old_type == 'ex'){
+ $old= $_POST['old'];
+ }
+
+ $weight= $_POST['weight'];
+ $activity = $_POST['activity'];
+ $pet = $_POST['pet'];
+ $breed = $_POST['breed'];
+ $sex = $_POST['sex'];
+ $user = $current_user->ID;
+
+ $post_data = array(
+ 'post_title' => $pet_name,
+ 'post_type' => 'pets',
+ 'post_status' => 'publish',
+ );
+
+
+ $post_id = wp_insert_post($post_data);
+ var_dump($post_id);
+ if ($post_id) {
+ // Добавление мета-полей
+ if ($old_type == 'ex'){
+
+ update_field( 'old', $old, $post_id );
+
+
+ }
+ else{
+
+ update_field( 'day', $_POST['day'], $post_id );
+ update_field( 'month', $_POST['month'], $post_id );
+ update_field( 'year', $_POST['year'], $post_id );
+ }
+ update_field( 'weight', $weight, $post_id );
+ update_field( 'breed', $breed, $post_id );
+ update_field( 'sex', $sex, $post_id );
+ update_field( 'type', $pet, $post_id );
+ update_field( 'user', $user, $post_id );
+ update_field( 'activity', $activity, $post_id );
+ if($_POST['sterilized']=='1' && $pet=='cat'){
+ update_field( 'sterilized', true );
+ }
+ else{
+ update_field( 'sterilized', false );
+ }
+ wp_send_json_success('Питомец успешно добавлен!');
+ } else {
+ wp_send_json_error('Ошибка при добавлении питомца.');
+ }
+
+ wp_die(); // Завершение работы
+}
+add_action('wp_ajax_add_pet', 'ajax_add_pet');
+add_action('wp_ajax_nopriv_add_pet', 'ajax_add_pet'); // Если нужно разрешить для незалогиненных пользователей
+
+function ajax_edit_pet() {
+ $current_user = wp_get_current_user();
+ // Подготовка данных
+ $pet_name = $_POST['name'];
+ $old_type = $_POST['old_type'];
+ if ($old_type == 'ex'){
+ $old= $_POST['old'];
+ }
+ else{
+ $old_acc = $_POST['day'] . ' ' . $_POST['month'] . ' ' . $_POST['year'];
+ }
+ $weight= $_POST['weight'];
+ $activity = $_POST['activity'];
+ $pet = $_POST['pet'];
+ $breed = $_POST['breed'];
+ $sex = $_POST['sex'];
+ $user = $current_user->ID;
+
+ $post_id = intval($_POST['pet_id']);
+
+ if (get_field('user', $post_id) == $user) {
+ // Добавление мета-полей
+ if ($old_type == 'ex'){
+ update_field( 'old', $old, $post_id );
+ }
+ else{
+ update_field( 'old', '', $post_id );
+ update_field( 'day', $_POST['day'], $post_id );
+ update_field( 'month', $_POST['month'], $post_id );
+ update_field( 'year', $_POST['year'], $post_id );
+ }
+ update_field( 'weight', $weight, $post_id );
+ update_field( 'breed', $breed, $post_id );
+ update_field( 'sex', $sex, $post_id );
+ update_field( 'type', $pet, $post_id );
+ update_field( 'activity', $activity, $post_id );
+ if($_POST['sterilized']=='1' && $pet=='cat'){
+ update_field( 'sterilized', true );
+ }
+ else{
+ update_field( 'sterilized', false );
+ }
+ wp_send_json_success('Питомец успешно отредактирован!');
+ } else {
+ wp_send_json_error('Ошибка при редактировании питомца.');
+ }
+
+ wp_die(); // Завершение работы
+}
+add_action('wp_ajax_edit_pet', 'ajax_edit_pet');
+add_action('wp_ajax_nopriv_edit_pet', 'ajax_edit_pet');
+
diff --git a/wp-content/themes/cosmopet/modules/profile/module-controller.php b/wp-content/themes/cosmopet/modules/profile/module-controller.php
new file mode 100644
index 0000000..9f8d04f
--- /dev/null
+++ b/wp-content/themes/cosmopet/modules/profile/module-controller.php
@@ -0,0 +1,2 @@
+ item.key !== element.key);
- localStorage.setItem(removedItemsStorageKey, JSON.stringify(updatedItems));
- }
- // Обрабатываем следующий элемент
- processNextItem();
- },
- error: function() {
- // Продолжаем даже при ошибке
- processNextItem();
+ function processNextItem() {
+ if (itemsToRemove.length === 0) {
+ // Все элементы обработаны
+ localStorage.removeItem(removedItemsStorageKey);
+ updateCartFragment();
+ $('#modal-basket').removeClass('loading');
+ return;
}
- });
- }
- // Начинаем обработку
- processNextItem();
-}
+ const element = itemsToRemove.shift(); // Берем первый элемент
+
+ $.ajax({
+ type: 'POST',
+ url: woocommerce_params.ajax_url,
+ data: {
+ action: 'remove_cart_item',
+ cart_item_key: element.key
+ },
+ success: function(response) {
+ if (response.success) {
+ // Обновляем localStorage, удаляя только что обработанный элемент
+ const currentItems = JSON.parse(localStorage.getItem(removedItemsStorageKey)) || [];
+ const updatedItems = currentItems.filter(item => item.key !== element.key);
+ localStorage.setItem(removedItemsStorageKey, JSON.stringify(updatedItems));
+ }
+ // Обрабатываем следующий элемент
+ processNextItem();
+ },
+ error: function() {
+ // Продолжаем даже при ошибке
+ processNextItem();
+ }
+ });
+ }
+
+ // Начинаем обработку
+ processNextItem();
+ }
// Инициализация при загрузке
restoreRemovedItems();
@@ -125,7 +126,7 @@ jQuery(document).ready(function($) {
// Показываем кнопку восстановления
$item.html(`
- Удаление товара из корзины: 5 с
+ Removing an item from the cart: 5 с
@@ -134,14 +135,29 @@ jQuery(document).ready(function($) {
`);
+ // Проверяем количество товаров в корзине
+ $.ajax({
+ type: 'POST',
+ url: woocommerce_params.ajax_url,
+ data: {
+ action: 'check_cart_count'
+ },
+ success: function(response) {
+ if (response.success && response.data.count <= 1) {
+ // Если после удаления корзина станет пустой (1 товар сейчас, удаляем его)
+ $('.proceed-to-checkout').css('display', 'none');
+ }
+ }
+ });
+
// Удаляем через 5 секунд, если не восстановили
const removeTimeout = setTimeout(() => {
permanentRemoveItem(key, productId, variationId);
}, 5000);
const product_remove_timer = setInterval(() => {
- let number = Number($(`#${key}_timer`).html()) - 1
- $(`#${key}_timer`).html(number)
+ let number = Number($(`#${key}_timer`).html()) - 1;
+ $(`#${key}_timer`).html(number);
}, 1000);
// Обработчик восстановления
@@ -207,6 +223,9 @@ jQuery(document).ready(function($) {
);
localStorage.setItem(removedItemsStorageKey, JSON.stringify(updatedItems));
+ // Показываем кнопку Proceed to checkout
+ $('.proceed-to-checkout').css('display', '');
+
updateCartFragment();
}
}
@@ -318,19 +337,22 @@ jQuery(document).ready(function($) {
$('#modal-basket').removeClass('loading');
},
success: function(response) {
- console.log(response)
+ console.log(response);
if (response.success) {
$('#modal-basket-content').html(response.data.contents);
$('.modal-block-price__price').html(response.data.total);
$('.mini-profile__button--counter').text(response.data.count);
- if(response.data.count > 0){
- $('.mini-profile__button--counter').removeClass('disabled')
+ if (response.data.count > 0) {
+ $('.mini-profile__button--counter').removeClass('disabled');
+ $('.proceed-to-checkout').css('display', ''); // Показываем кнопку, если есть товары
+ } else {
+ $('.mini-profile__button--counter').addClass('disabled');
+ $('.proceed-to-checkout').css('display', 'none'); // Скрываем кнопку, если корзина пуста
}
- else(
- $('.mini-profile__button--counter').addClass('disabled')
- )
-
}
+ },
+ error: function(xhr, status, error) {
+ console.error('AJAX error:', error);
}
});
}
@@ -356,6 +378,4 @@ jQuery(document).ready(function($) {
}
}
});
-});
-
-
+});
\ No newline at end of file
diff --git a/wp-content/themes/cosmopet/modules/shop/components/checkout/assets/css/checkout.css b/wp-content/themes/cosmopet/modules/shop/components/checkout/assets/css/checkout.css
index f3ee59b..808f7fe 100644
--- a/wp-content/themes/cosmopet/modules/shop/components/checkout/assets/css/checkout.css
+++ b/wp-content/themes/cosmopet/modules/shop/components/checkout/assets/css/checkout.css
@@ -1304,4 +1304,40 @@
.cdek-office-info{
display: none;
+}
+
+.quantity-control {
+ display: flex;
+ align-items: center;
+ gap: 10px;
+ margin-bottom: 10px;
+}
+.quantity-decrease, .quantity-increase {
+ background: #f0f0f0;
+ border: none;
+ padding: 5px 10px;
+ cursor: pointer;
+ font-size: 16px;
+ border-radius: 4px;
+}
+.quantity-decrease:hover, .quantity-increase:hover {
+ background: #e0e0e0;
+}
+.quantity-input {
+ width: 50px;
+ text-align: center;
+ border: 1px solid #ccc;
+ border-radius: 4px;
+ padding: 5px;
+}
+.remove-item {
+ background: #ff4d4d;
+ color: white;
+ border: none;
+ padding: 5px 10px;
+ cursor: pointer;
+ border-radius: 4px;
+}
+.remove-item:hover {
+ background: #e63939;
}
\ No newline at end of file
diff --git a/wp-content/themes/cosmopet/modules/shop/components/checkout/assets/js/script.js b/wp-content/themes/cosmopet/modules/shop/components/checkout/assets/js/script.js
index 3035f2c..fafa1a1 100644
--- a/wp-content/themes/cosmopet/modules/shop/components/checkout/assets/js/script.js
+++ b/wp-content/themes/cosmopet/modules/shop/components/checkout/assets/js/script.js
@@ -130,7 +130,7 @@ jQuery(document).ready(function ($) {
$('#billing_phone-error').addClass('active');
}
if (errorMessage == 'Order pickup point not selected.' || errorMessage == 'Не выбран ПВЗ для доставки заказа.'){
- $('#pvz-error').html(errorMessage)
+ $('#pvz-error').html('Не выбран ПВЗ для доставки заказа.')
$('#pvz-error').addClass('active');
}
if (errorMessage == 'adress_error'){
@@ -159,3 +159,174 @@ jQuery(document).ready(function ($) {
})
});
+jQuery(document).ready(function($) {
+ // Функция для получения активных фильтров из URL
+ function getActiveFilters() {
+ const params = new URLSearchParams(window.location.search);
+ const filters = [];
+
+ params.forEach((value, key) => {
+ if (key.startsWith('filter_') || key === 'min_price' || key === 'max_price') {
+ let filterName = key.replace('filter_', '').replace('_', ' ');
+ let filterValue = value.split(',').map(val => decodeURIComponent(val.replace(/\+/g, ' ')));
+
+ if (key === 'min_price') {
+ filterName = 'Цена от';
+ filterValue = [value + ' ₽'];
+ } else if (key === 'max_price') {
+ filterName = 'Цена до';
+ filterValue = [value + ' ₽'];
+ }
+
+ filters.push({
+ key: key,
+ name: filterName.charAt( W1).toUpperCase() + filterName.slice(1),
+ values: filterValue
+ });
+ }
+ });
+
+ return filters;
+ }
+
+ // Функция для отображения активных фильтров
+ function displayActiveFilters() {
+ const $filterList = $('.active-filters__list');
+ const $filterContainer = $('.active-filters');
+ const $clearButton = $('.active-filters__clear');
+ $filterList.empty();
+
+ const activeFilters = getActiveFilters();
+
+ if (activeFilters.length > 0) {
+ $filterContainer.show();
+ $clearButton.show();
+
+ activeFilters.forEach(filter => {
+ filter.values.forEach(value => {
+ const $filterTag = $('', {
+ class: 'active-filters__tag',
+ html: `${filter.name}: ${value} × `
+ });
+ $filterList.append($filterTag);
+ });
+ });
+ W2 else {
+ $filterContainer.hide();
+ $clearButton.hide();
+ }
+ }
+
+ // Инициализация при загрузке страницы
+ displayActiveFilters();
+
+ // Обновление фильтров после AJAX-фильтрации
+ $(document).on('wcpf_after_filtering', function() {
+ displayActiveFilters();
+ });
+
+ // Удаление фильтра
+ $(document).on('click', '.active-filters__remove', function() {
+ const key = $(this).data('key');
+ const value = $(this).data('value');
+ const params = new URLSearchParams(window.location.search);
+
+ if (key === 'min_price' || key === 'max_price') {
+ params.delete(key);
+ } else {
+ let values = params.get(key) ? params.get(key).split(',') : [];
+ values = values.filter(val => decodeURIComponent(val.replace(/\+/g, ' ')) !== value);
+ if (values.length > 0) {
+ params.set(key, values.join(','));
+ } else {
+ params.delete(key);
+ }
+ }
+
+ const newUrl = window.location.pathname + (params.toString() ? '?' + params.toString() : '');
+ window.history.pushState({}, '', newUrl);
+
+ // Запуск AJAX-фильтрации
+ $.ajax({
+ url: wc_checkout_params.ajax_url,
+ type: 'POST',
+ data: {
+ action: 'wcpf_filter',
+ query: params.toString(),
+ category_id: $('#load-more-products').data('category_id'),
+ category_type: $('#load-more-products').data('category_type')
+ },
+ success: function(response) {
+ if (response.success) {
+ $('.product__main').html(response.data.products);
+ displayActiveFilters();
+ $(document.body).trigger('wc_fragments_refreshed');
+ }
+ },
+ error: function() {
+ alert('Ошибка при обновлении фильтров');
+ }
+ });
+ });
+
+ // Очистка всех фильтров
+ $(document).on('click', '.active-filters__clear', function() {
+ const params = new URLSearchParams(window.location.search);
+ const newUrl = window.location.pathname;
+ window.history.pushState({}, '', newUrl);
+
+ $.ajax({
+ url: wc_checkout_params.ajax_url,
+ type: 'POST',
+ data: {
+ action: 'wcpf_filter',
+ query: '',
+ category_id: $('#load-more-products').data('category_id'),
+ category_type: $('#load-more-products').data('category_type')
+ },
+ success: function(response) {
+ if (response.success) {
+ $('.product__main').html(response.data.products);
+ displayActiveFilters();
+ $(document.body).trigger('wc_fragments_refreshed');
+ }
+ },
+ error: function() {
+ alert('Ошибка при очистке фильтров');
+ }
+ });
+ });
+
+ // Обработка загрузки дополнительных продуктов
+ $(document).on('click', '#load-more-products', function() {
+ const $button = $(this);
+ const categoryId = $button.data('category_id');
+ const categoryType = $button.data('category_type');
+ const page = parseInt($button.data('page') || 1) + 1;
+
+ $.ajax({
+ url: wc_checkout_params.ajax_url,
+ type: 'POST',
+ data: {
+ action: 'load_more_products',
+ category_id: categoryId,
+ category_type: categoryType,
+ page: page,
+ query: window.location.search
+ },
+ success: function(response) {
+ if (response.success) {
+ $('.product__main').append(response.data.products);
+ $button.data('page', page);
+ if (!response.data.has_more) {
+ $button.hide();
+ }
+ }
+ },
+ error: function() {
+ alert('Ошибка при загрузке продуктов');
+ }
+ });
+ });
+});
+
diff --git a/wp-content/themes/cosmopet/static/assets/css/thankyou.css b/wp-content/themes/cosmopet/static/assets/css/thankyou.css
new file mode 100644
index 0000000..6055e3b
--- /dev/null
+++ b/wp-content/themes/cosmopet/static/assets/css/thankyou.css
@@ -0,0 +1,65 @@
+/* Основные стили страницы */
+.woocommerce-order {
+ max-width: 800px;
+ margin: 2rem auto;
+ padding: 2rem;
+ background: #fff;
+ box-shadow: 0 0 10px rgba(0,0,0,0.1);
+ border-radius: 8px;
+}
+
+/* Заголовок */
+.woocommerce-order h2.woocommerce-order-details__title,
+.woocommerce-order h2.woocommerce-column__title {
+ color: #333;
+ border-bottom: 2px solid #eee;
+ padding-bottom: 10px;
+}
+
+/* Детали заказа */
+.woocommerce-order-overview {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 1rem;
+ margin-bottom: 2rem;
+}
+
+.woocommerce-order-overview li {
+ flex: 1;
+ min-width: 200px;
+ background: #f9f9f9;
+ padding: 1rem;
+ border-radius: 4px;
+}
+
+/* Кнопка "Вернуться в магазин" */
+.woocommerce-button.button.wc-backward {
+ background: #4CAF50;
+ color: white;
+ padding: 10px 20px;
+ border-radius: 4px;
+ text-decoration: none;
+ display: inline-block;
+ margin-top: 20px;
+}
+
+.woocommerce-button.button.wc-backward:hover {
+ background: #3e8e41;
+}
+
+
+@media (max-width: 768px) {
+ .woocommerce-order {
+ padding: 1rem;
+ margin: 1rem;
+ }
+
+ .woocommerce-order-overview li {
+ min-width: 100%;
+ }
+
+ .woocommerce-order-details,
+ .woocommerce-customer-details {
+ margin-top: 1rem;
+ }
+}
\ No newline at end of file
diff --git a/wp-content/themes/cosmopet/static/assets/js/telegram-auth.js b/wp-content/themes/cosmopet/static/assets/js/telegram-auth.js
new file mode 100644
index 0000000..41b8512
--- /dev/null
+++ b/wp-content/themes/cosmopet/static/assets/js/telegram-auth.js
@@ -0,0 +1,55 @@
+jQuery(document).ready(function($) {
+ window.onTelegramAuth = function(user) {
+ $.ajax({
+ type: 'POST',
+ url: telegram_auth_params.ajax_url,
+ data: {
+ action: 'ontelegramauth',
+ userid: user.id,
+ username: user.username || '',
+ fname: user.first_name || '',
+ lname: user.last_name || '',
+ photo_url: user.photo_url || '',
+ auth_date: user.auth_date,
+ hash: user.hash
+ },
+ success: function(response) {
+ if (response.success) {
+ window.location.href = telegram_auth_params.my_account_url;
+ } else {
+ alert(telegram_auth_params.i18n_error + ': ' + (response.data.message || 'Unknown error'));
+ }
+ },
+ error: function() {
+ alert(telegram_auth_params.i18n_error);
+ }
+ });
+ };
+
+ window.linkTelegram = function(user) {
+ $.ajax({
+ type: 'POST',
+ url: telegram_auth_params.ajax_url,
+ data: {
+ action: 'linktelegram',
+ userid: user.id,
+ username: user.username || '',
+ fname: user.first_name || '',
+ lname: user.last_name || '',
+ photo_url: user.photo_url || '',
+ auth_date: user.auth_date,
+ hash: user.hash
+ },
+ success: function(response) {
+ if (response.success) {
+ $('.cabinet-accounts').html(' ');
+ } else {
+ alert(telegram_auth_params.i18n_error_link + ': ' + (response.data.message || 'Unknown error'));
+ }
+ },
+ error: function() {
+ alert(telegram_auth_params.i18n_error_link);
+ }
+ });
+ };
+});
\ No newline at end of file
diff --git a/wp-content/themes/cosmopet/static/img/pet/mini-cat.png b/wp-content/themes/cosmopet/static/img/pet/mini-cat.png
new file mode 100644
index 0000000..49233dd
Binary files /dev/null and b/wp-content/themes/cosmopet/static/img/pet/mini-cat.png differ
diff --git a/wp-content/themes/cosmopet/templates/modal/basket.twig b/wp-content/themes/cosmopet/templates/modal/basket.twig
index 4fb1488..b19d3c4 100644
--- a/wp-content/themes/cosmopet/templates/modal/basket.twig
+++ b/wp-content/themes/cosmopet/templates/modal/basket.twig
@@ -15,33 +15,30 @@
- {% if not fn('WC').cart.is_empty %}
\ No newline at end of file
diff --git a/wp-content/themes/cosmopet/templates/modal/login.twig b/wp-content/themes/cosmopet/templates/modal/login.twig
new file mode 100644
index 0000000..92573b6
--- /dev/null
+++ b/wp-content/themes/cosmopet/templates/modal/login.twig
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
Спасибо за авторизацию
+
Теперь вы можете получать промокоды за покупки.
+
+
Заполнить профиль
+
+
+
+
+
+ Вы вошли в систему
+
+
Профиль
+
+
+
+
\ No newline at end of file
diff --git a/wp-content/themes/cosmopet/templates/profile/profile-base.twig b/wp-content/themes/cosmopet/templates/profile/profile-base.twig
new file mode 100644
index 0000000..45e31c5
--- /dev/null
+++ b/wp-content/themes/cosmopet/templates/profile/profile-base.twig
@@ -0,0 +1,611 @@
+
+
+
+
+ {{ function('pll_e', 'Feed subscription') }}
+
+
+
{{ function('pll_e', 'Weekly food delivery for your pet') }}
+
+
+
+ {{ function('pll_e', 'Get details') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {% if first_name or last_name %}
+ {{ first_name }} {{ last_name }}
+ {% else %}
+ {{ function('pll_e', 'Name is not set') }}
+ {% endif %}
+
+
+
+
+
{{ function('pll_e', 'Phone') }}:
+
+ {% if phone %}
+ {{ phone }}
+ {% else %}
+ {{ function('pll_e', 'Not filled') }}
+ {% endif %}
+
+
+
+
+
{{ function('pll_e', 'Email') }}:
+ {% if email %}
+
{{ email }}
+ {% if activated %}
+
{{ function('pll_e', 'Email is verified') }}
+ {% else %}
+
{{ function('pll_e', 'Email is not verified') }}
+
+ {% if uuid %}
+
{{ function('pll_e', 'Email with verification link is sent to your email.') }}
+ {% endif %}
+ {% endif %}
+ {% else %}
+
+ {% endif %}
+
+
+
+
{{ function('pll_e', 'Linked accounts') }}:
+
+ {% if tg_account %}
+
+
+
+
+
+
+
+
+ {% else %}
+
+ {% endif %}
+
+
+
+
+
+
+
+ {% if pets %}
+ {% for pet in pets %}
+ {% include 'pet-card.twig' with { 'item': pet } %}
+ {% endfor %}
+ {% endif %}
+
+
+
+
+
+
+
+ {{ function('pll_e', 'Add a pet') }}
+
+
+
+
+
+
+ {% block profile_content %}
+
+ {% endblock %}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/wp-content/themes/cosmopet/templates/profile/profile-orders.twig b/wp-content/themes/cosmopet/templates/profile/profile-orders.twig
new file mode 100644
index 0000000..791538a
--- /dev/null
+++ b/wp-content/themes/cosmopet/templates/profile/profile-orders.twig
@@ -0,0 +1,106 @@
+{% extends 'profile/profile-base.twig' %}
+
+{% block profile_content%}
+
+
+
+
{{ function('pll_e', 'Feed subscription') }}
+
+
{{ function('pll_e', 'Weekly food delivery for your pet') }}
+
+
+ {{ function('pll_e', 'Get details') }}
+
+
+
+ {% if customer_orders %}
+ {% for order in customer_orders %}
+ {% set meta_data = order.meta_data.order_data %}
+ {% set shipping_address = order.get_address('shipping') %}
+
+
+
+
+
+
+ {% set order_track = meta_data.order_number|default('') %}
+
+
+
+
{{ function('pll_e', 'Delivery address') }}
+
+ {% if meta_data.office_code %}
+ {{ function('pll_e', 'CDEK shipping point') }}
+ {{ office_name }}
+ {% else %}
+ {{ shipping_address.city }} {{ shipping_address.address_1 }}
+ {% endif %}
+
+
+
+
+ {% for item in order.get_items %}
+ {% set product = item.get_product %}
+ {% set thumbnail = product ? function('wp_get_attachment_image_url', product.get_image_id(), 'woocommerce_thumbnail') : function('wc_placeholder_img_src', 'woocommerce_thumbnail') %}
+
+
+
+
+
{{ item.quantity }}
+
{{ item.total }} {{ function('get_woocommerce_currency_symbol', code) }}
+
+
+ {% endfor %}
+
+
+
+
+
+
{{ function('pll_e', 'Order details') }}
+
+
+ {% for item in order.get_items %}
+ {% set product = item.get_product %}
+ {% set thumbnail = product ? function('wp_get_attachment_image_url', product.get_image_id(), 'woocommerce_thumbnail') : function('wc_placeholder_img_src', 'woocommerce_thumbnail') %}
+ {% if thumbnail %}
+
+ {% endif %}
+ {% endfor %}
+
+
+
+
+
+ {% endfor %}
+ {% else %}
+
+
+
{{ function('pll_e', 'No orders yet') }}
+
+
+
+ {% endif %}
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/wp-content/themes/cosmopet/templates/profile/profile-subs-single.twig b/wp-content/themes/cosmopet/templates/profile/profile-subs-single.twig
new file mode 100644
index 0000000..ff1f0ee
--- /dev/null
+++ b/wp-content/themes/cosmopet/templates/profile/profile-subs-single.twig
@@ -0,0 +1,133 @@
+{% extends 'profile/profile-base.twig' %}
+
+{% block profile_content %}
+
+
+ {% if subscription %}
+
+
+
+
+
+
+
+
+
{{ fn('pll_e', 'Статус') }}
+
{{ subscription.status | capitalize }}
+
+
+
{{ fn('pll_e', 'Дата подписки') }}
+
{{ subscription.date_created | date('d.m.Y') }}
+
+
+
{{ fn('pll_e', 'Дата последнего заказа') }}
+
{{ subscription.last_order_date | date('d.m.Y') }}
+
+
+
{{ fn('pll_e', 'Следующий платеж') }}
+
{{ subscription.next_payment_date | date('d.m.Y')}}
+
+
+
{{ fn('pll_e', 'Способ оплаты') }}
+
{{ subscription.payment_method_title}}
+
+
+
+
+
+ {% for item in subscription.items %}
+ {% set product = item.product %}
+ {% set image_id = product.image_id %}
+ {% set product_permalink = product.id ? fn('get_permalink', product.id) : '' %}
+ {# Debug: Display product ID and permalink for testing #}
+
Product ID: {{ product.id | default('null') }} | Permalink: {{ product_permalink | default('none') }}
+
+ {% if product.id and product_permalink and product_permalink != fn('get_permalink', fn('get_the_ID')) %}
+
+
+
+ {% else %}
+
+ {% endif %}
+
+
{{ product.name }}
+
{{ product.variation_details | default('') }}
+
+
+
{{ item.quantity }}
+
{{ item.total }}
+
+
+ {% endfor %}
+
+
+
+
+
{{ fn('pll_e', 'Сумма') }}
+
{{ subscription.total }} {{ subscription.currency }} / {{ fn('pll_e', 'месяц') }}
+
+
+
{{ fn('pll_e', 'Доставка') }}
+
{{ fn('pll_e', 'Бесплатно') }}
+
+
+
{{ fn('pll_e', 'Итого') }}
+
{{ subscription.total }} {{ subscription.currency }} / {{ fn('pll_e', 'месяц') }}
+
+
+
+
+
+ {{ fn('pll_e', 'Отменить подписку') }}
+
+
+
+ {% else %}
+
+
{{ fn('pll_e', 'Подписка не найдена.') }}
+
+ {% endif %}
+
+{% endblock %}
\ No newline at end of file
diff --git a/wp-content/themes/cosmopet/templates/profile/profile-subs.twig b/wp-content/themes/cosmopet/templates/profile/profile-subs.twig
new file mode 100644
index 0000000..99e0427
--- /dev/null
+++ b/wp-content/themes/cosmopet/templates/profile/profile-subs.twig
@@ -0,0 +1,78 @@
+{% extends 'profile/profile-base.twig' %}
+
+{% block profile_content %}
+
+ {% for subscription in subscriptions %}
+
+
+
+
+
+
+
+
+ {{ fn('pll_e', 'Следующий платеж:') }}
+
+
+ {{ subscription.next_payment_date | date('d.m.Y') }}
+
+
+
+
+
+
+
+ {% for item in subscription.items %}
+ {% set product = item.product %}
+ {% set image_id = product.image_id %}
+ {% if product.permalink %}
+
+
+
+ {% else %}
+
+ {% endif %}
+ {% endfor %}
+
+
+
+
+
+ {% else %}
+
{{ fn('pll_e', 'У вас нет активных подписок.') }}
+ {% endfor %}
+
+{% endblock %}
\ No newline at end of file
diff --git a/wp-content/themes/cosmopet/templates/profile/profile.twig b/wp-content/themes/cosmopet/templates/profile/profile.twig
new file mode 100644
index 0000000..cdbff07
--- /dev/null
+++ b/wp-content/themes/cosmopet/templates/profile/profile.twig
@@ -0,0 +1,414 @@
+{% set profile_pg = 1 %}
+
+{% extends 'profile/profile-base.twig' %}
+
+{% block profile_content%}
+
+
+
+
{{ function('pll_e', 'Feed subscription') }}
+
+
{{ function('pll_e', 'Weekly food delivery for your pet') }}
+
+
+ {{ function('pll_e', 'Get details') }}
+
+
+
+ {% if customer_orders %}
+ {% for order in customer_orders %}
+ {% set meta_data = order.meta_data.order_data %}
+ {% set shipping_address = order.get_address('shipping') %}
+
+
+
+
+
+
+ {% set order_track = meta_data.order_number|default('') %}
+
+
+
+
{{ function('pll_e', 'Delivery address') }}
+
+ {% if meta_data.office_code %}
+ {{ function('pll_e', 'CDEK shipping point') }}
+ {{ office_name }}
+ {% else %}
+ {{ shipping_address.city }} {{ shipping_address.address_1 }}
+ {% endif %}
+
+
+
+
+ {% for item in order.get_items %}
+ {% set product = item.get_product %}
+ {% set thumbnail = product ? function('wp_get_attachment_image_url', product.get_image_id(), 'woocommerce_thumbnail') : function('wc_placeholder_img_src', 'woocommerce_thumbnail') %}
+
+
+
+
+
{{ item.quantity }}
+
{{ item.total }} {{ function('get_woocommerce_currency_symbol', code) }}
+
+
+ {% endfor %}
+
+
+
+
+
+
{{ function('pll_e', 'Order details') }}
+
+
+ {% for item in order.get_items %}
+ {% set product = item.get_product %}
+ {% set thumbnail = product ? function('wp_get_attachment_image_url', product.get_image_id(), 'woocommerce_thumbnail') : function('wc_placeholder_img_src', 'woocommerce_thumbnail') %}
+ {% if thumbnail %}
+
+ {% endif %}
+ {% endfor %}
+
+
+
+
+
+ {% endfor %}
+ {% else %}
+
+
+
{{ function('pll_e', 'No orders yet') }}
+
+
+
+ {% endif %}
+
+
+
+{% endblock %}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/wp-content/themes/cosmopet/templates/profile/template-profile.php b/wp-content/themes/cosmopet/templates/profile/template-profile.php
new file mode 100644
index 0000000..e69de29
diff --git a/wp-content/themes/cosmopet/templates/where_to_buy/template_wtb.php b/wp-content/themes/cosmopet/templates/where_to_buy/template_wtb.php
new file mode 100644
index 0000000..f341475
--- /dev/null
+++ b/wp-content/themes/cosmopet/templates/where_to_buy/template_wtb.php
@@ -0,0 +1,502 @@
+
+
+
+
+
+
+
+
+
+
Where to Buy
+
Looking for Cosmopet products in stores? You can find our premium pet treats in select pet shops and retail stores across the UAE.
+
+
+
+
+
+
+
+
+
📍 Find us at:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/wp-content/themes/cosmopet/templates/where_to_buy/wtb.twig b/wp-content/themes/cosmopet/templates/where_to_buy/wtb.twig
new file mode 100644
index 0000000..e69de29
diff --git a/wp-content/themes/cosmopet/woocommerce/assets/js/gp-main.js b/wp-content/themes/cosmopet/woocommerce/assets/js/gp-main.js
index e011909..438dc06 100644
--- a/wp-content/themes/cosmopet/woocommerce/assets/js/gp-main.js
+++ b/wp-content/themes/cosmopet/woocommerce/assets/js/gp-main.js
@@ -138,26 +138,25 @@ toggleHeader('#phone-menu','.header__menu-block','.header__phone-menu', '.white'
// modal
modalOpen('.button--filter', '.modal__filter');
modalOpen('.basket-open', '.modal__basket');
+modalOpen('.login-open', '.modal__login');
modalOpen('.open-to-know', '.modal__to-know');
modalClose('.modal__close');
+modalClose('.modal-form-sub__close');
+let modalWindow = document.querySelector('.modal'); // Изменено с modal на modalWindow
-let modal = document.querySelector('.modal');
-
-modal.onclick = function (event) {
+modalWindow.onclick = function (event) {
let target = event.target;
if (target.classList.contains('modal')) {
let aside = target.querySelector('.modal__aside'),
- modalItem = target.querySelector('.modal__item.active'),
- body = document.querySelector('body');
-
- aside.style.width = '0px';
- body.classList.remove('overflow-hidden');
- setTimeout(() => {
- modalItem.style.cssText = '';
- modalItem.classList.remove('active');
- target.classList.remove('active');
- }, 300);
+ modalItem = target.querySelector('.modal__item.active');
+
+ aside.style.width = '0px';
+ setTimeout(() => {
+ modalItem.style.cssText = '';
+ modalItem.classList.remove('active');
+ target.classList.remove('active');
+ }, 300);
}
}
@@ -195,7 +194,7 @@ radioButtons.forEach(radioBlock => {
})
// radio-button
-overlay
+
let products = document.querySelectorAll('.product__item');
products.forEach(productItem => {
@@ -222,7 +221,7 @@ products.forEach(productItem => {
}
})
-overlay
+
// select
diff --git a/wp-content/themes/cosmopet/woocommerce/cart/cart-shipping.php b/wp-content/themes/cosmopet/woocommerce/cart/cart-shipping.php
index b341ab6..9eb87d3 100644
--- a/wp-content/themes/cosmopet/woocommerce/cart/cart-shipping.php
+++ b/wp-content/themes/cosmopet/woocommerce/cart/cart-shipping.php
@@ -70,7 +70,7 @@ $calculator_text = '';
cost;
- ?>₽
+ ?>₽
diff --git a/wp-content/themes/cosmopet/woocommerce/checkout/order-receipt.php b/wp-content/themes/cosmopet/woocommerce/checkout/order-receipt.php
index 74b628f..9a93632 100644
--- a/wp-content/themes/cosmopet/woocommerce/checkout/order-receipt.php
+++ b/wp-content/themes/cosmopet/woocommerce/checkout/order-receipt.php
@@ -1,19 +1,46 @@
-// Get Timber context
-$context = Timber::context();
+
+
+
+ get_order_number() ); ?>
+
+
+
+ get_date_created() ) ); ?>
+
+
+
+ get_formatted_order_total() ); ?>
+
+ get_payment_method_title() ) : ?>
+
+
+ get_payment_method_title() ); ?>
+
+
+
+get_payment_method(), $order->get_id() ); ?>
-// Render the Twig template
-Timber::render('shop/review-order.twig', $context);
\ No newline at end of file
+
diff --git a/wp-content/themes/cosmopet/woocommerce/checkout/thankyou copy.php b/wp-content/themes/cosmopet/woocommerce/checkout/thankyou copy.php
deleted file mode 100644
index 53d5191..0000000
--- a/wp-content/themes/cosmopet/woocommerce/checkout/thankyou copy.php
+++ /dev/null
@@ -1,90 +0,0 @@
-
-
-
-
- get_id() );
- ?>
-
- has_status( 'failed' ) ) : ?>
-
-
-
-
-
-
-
-
-
-
-
-
- $order ) ); ?>
-
-
-
-
-
- get_order_number(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
-
-
-
-
- get_date_created() ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
-
-
- get_user_id() === get_current_user_id() && $order->get_billing_email() ) : ?>
-
-
- get_billing_email(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
-
-
-
-
-
- get_formatted_order_total(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
-
-
- get_payment_method_title() ) : ?>
-
-
- get_payment_method_title() ); ?>
-
-
-
-
-
-
-
- get_payment_method(), $order->get_id() ); ?>
- get_id() ); ?>
-
-
-
- false ) ); ?>
-
-
-
-
diff --git a/wp-content/themes/cosmopet/woocommerce/checkout/thankyou.php b/wp-content/themes/cosmopet/woocommerce/checkout/thankyou.php
deleted file mode 100644
index 6019893..0000000
--- a/wp-content/themes/cosmopet/woocommerce/checkout/thankyou.php
+++ /dev/null
@@ -1,108 +0,0 @@
-
-
-
-
-
-
- get_id() ); ?>
-
- has_status( 'failed' ) ) : ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- get_order_number(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
-
-
-
-
- get_date_created() ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
-
-
- get_user_id() === get_current_user_id() && $order->get_billing_email() ) : ?>
-
-
- get_billing_email(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
-
-
-
-
-
- get_formatted_order_total(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
-
-
- get_payment_method_title() ) : ?>
-
-
- get_payment_method_title() ); ?>
-
-
-
-
-
-
-
-
-
-
- get_payment_method(), $order->get_id() ); ?>
- get_id() ); ?>
-
-
-
-
-
-
-
-
-
diff --git a/wp-content/themes/cosmopet/woocommerce/myaccount/form-login.php b/wp-content/themes/cosmopet/woocommerce/myaccount/form-login.php
new file mode 100644
index 0000000..c31c856
--- /dev/null
+++ b/wp-content/themes/cosmopet/woocommerce/myaccount/form-login.php
@@ -0,0 +1,119 @@
+
+
+
+
+
+
+
+
diff --git a/wp-content/themes/cosmopet/woocommerce/myaccount/my-account.php b/wp-content/themes/cosmopet/woocommerce/myaccount/my-account.php
new file mode 100644
index 0000000..9cac5cd
--- /dev/null
+++ b/wp-content/themes/cosmopet/woocommerce/myaccount/my-account.php
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/wp-content/themes/cosmopet/woocommerce/myaccount/my-address.php b/wp-content/themes/cosmopet/woocommerce/myaccount/my-address.php
new file mode 100644
index 0000000..5bd5a97
--- /dev/null
+++ b/wp-content/themes/cosmopet/woocommerce/myaccount/my-address.php
@@ -0,0 +1,93 @@
+ __( 'Billing address', 'woocommerce' ),
+ 'shipping' => __( 'Shipping address', 'woocommerce' ),
+ ),
+ $customer_id
+ );
+} else {
+ $get_addresses = apply_filters(
+ 'woocommerce_my_account_get_addresses',
+ array(
+ 'billing' => __( 'Billing address', 'woocommerce' ),
+ ),
+ $customer_id
+ );
+}
+
+$oldcol = 1;
+$col = 1;
+?>
+
+
+
+
+
+
+
+
+
+ $address_title ) : ?>
+
+
+
+
+
+
+
+
+