Битрикс корзина на Vue.js
В данной статье приведен пример реализации корзины в CMS Битрикс на Vue.js.
В примере нет сложных модификаций, здесь сделано все по простому.
Создадим в проекте папке basket. Корзина будет доступна по пути /basket/.
В файле index.php будет примерно такой код:
<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetPageProperty("description", "Интернет-магазин Корзина");
$APPLICATION->SetPageProperty("keywords", "Интернет-магазин Корзина");
$APPLICATION->SetTitle("Корзина");
?>
<? $APPLICATION->IncludeFile(
"/basket/baskedFixed.php",
Array(),
Array("MODE" => "html", "NAME" => "включаемую область"));
?><?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>
Создадим файл baskedFixed.php в папке /basket/.
<? $APPLICATION->SetAdditionalCSS(SITE_TEMPLATE_PATH."/styles/baskedFixed.min.css", true) ?>
<?
use Bitrix\Main\Context,
Bitrix\Currency\CurrencyManager,
Bitrix\Sale\Order,
Bitrix\Sale\Basket,
Bitrix\Sale\Delivery,
Bitrix\Sale\PaySystem;
CModule::IncludeModule("iblock");
CModule::IncludeModule("catalog");
CModule::IncludeModule("sale");
//получаем корзину
$basket = \Bitrix\Sale\Basket::loadItemsForFUser(\Bitrix\Sale\Fuser::getId(CSaleBasket::GetBasketUserID()), \Bitrix\Main\Context::getCurrent()->getSite());
if (!$basket->getPrice()) {?>
<div class="make-an-order order_success-wrap">
<div class="wrapper">
<h2 class="make-an-order_title">Корзина</h2>
<div class="order_success" style="margin-bottom: 15px;">
<h2 class="success_title">Корзина пуста</h2>
</div>
</div>
</div>
<?
}
else{
?>
<div class="cart">
<div class="wrapper">
<div class="cart_header">
<h2 class="header_title">Корзина</h2>
<p class="header_subtitle">
У вас в корзине есть товары, которых нет в наличии, вы можете оформить предзаказ, либо удалить эти товары.<br>
Товар будет доставлен вам в течение 14 дней, мы дополнительно свяжемся с вами.
</p>
</div>
<div class="cart_main" id="fixedBasket">
<div class="cart_line">
<div class="line_img"><img src="/img/cart_img.png" alt="cart img"></div>
<p class="line_name">Наименование товара</p>
<div class="line_desc">
</div>
<div class="line_country"><p>Страна</p></div>
<div class="line_season"><p>Сезон</p></div>
<div class="line_size"><p>Размер коробки</p></div>
<div class="line_price"><p>Цена</p></div>
<div class="line_counter">
<p>Кол-во</p>
</div>
<div class="line_summary">
<p>Итого</p>
</div>
</div>
<div class="cart_line" v-for="(item, key) in goods" :data-productId="item.ID">
<div class="line_img"><img :src="item.IMAGE" :alt="item.NAME"></div>
<p class="line_name">
<a v-if="item.DETAIL_PAGE_URL" :href="item.DETAIL_PAGE_URL">{{item.NAME}}</a>
<span v-else>{{item.NAME}}</span>
</p>
<div class="line_desc">
<p class="desc_btn">
<a v-if="item.DETAIL_PAGE_URL" :href="item.DETAIL_PAGE_URL">
Подробнее
о товаре
</a>
</p>
<div class="desc_desc">
<div class="desc_line">
<p class="desc_line_country">Страна</p>
<p class="desc_line_season">Сезон</p>
<p class="desc_line_sizes">Размер коробки</p>
</div>
<div class="desc_line">
<p class="desc_line_country">{{item.COUNTRY_PRODUCTION}}</p>
<p class="desc_line_season">
{{item.PRODUCT_SEZON}}
</p>
<p class="desc_line_sizes">
{{item.PRODUCT_K}}
</p>
</div>
<img v-on:click="goodsDelete(item, key)" src="/img/svg/cart-desc-close.svg" alt="close" class="desc_close">
</div>
</div>
<div class="line_country"><p>{{item.COUNTRY_PRODUCTION}}</p></div>
<div class="line_season"><p>
{{item.PRODUCT_SEZON}}
</p>
</div>
<div class="line_size"><p>
{{item.PRODUCT_K}}
</p></div>
<div class="line_price"><p>{{item.PRICE}} ₽</p><span style="display: none">Цена</span></div>
<div class="line_counter">
<span style="display: none">Кол-во</span>
<img src="/img/svg/counter_minus.svg" alt="minus" class="counter_minus" v-on:click="goodsMinus(item); item.quantity - 1">
<p class="">{{item.QUANTITY}}</p>
<?/*<input style="width: 38px;" class="counter_counter" type="number" min="1" name="quantity" :value="item.QUANTITY" disabled>*/?>
<img src="/img/svg/counter_plus.svg" alt="plus" class="counter_plus" v-on:click="goodsPlus(item)">
</div>
<div class="line_summary">
<span style="display: none">Итого</span>
<p class="summ">{{rounded(item.DISCOUNT * item.QUANTITY)}} ₽</p>
</div>
<div class="line_delete">
<img src="/img/svg/cart_line_delete.png" v-on:click="goodsDelete(item, key)" alt="delete">
</div>
</div>
<div class="cart_summ">
<p>Стоимость покупки: <span class="itog_summ"><b>0</b> руб</span></p>
</div>
<a href="/personal/order/make/" class="cart_buy">Оформить заказ</a>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script type="text/javascript">
function round(value, decimals) {
return Number(Math.round(value+'e'+decimals)+'e-'+decimals);
}
var vm = new Vue({
el: '#fixedBasket',
data: {
goods: [],
},
watch:{
goods: {
handler: function (data) {//высчитываем сумму товаров
let result = 0;
for (const item of data) {
let price = item.DISCOUNT;
let quantity = item.QUANTITY;
result += Number(price) * Number(quantity);
}
if (document.querySelectorAll('.basket__fixed-btn__text b').length > 0) {
document.querySelector('.basket__fixed-btn__text b').textContent = this.summPrettify(result);
}
if (document.querySelectorAll('#fixedBasket .itog_summ b').length > 0) {
document.querySelector('#fixedBasket .itog_summ b').textContent = this.summPrettify(result);
}
if (document.querySelectorAll('.header__basket_order-counter span').length > 0) {
document.querySelector('.header__basket_order-counter span').textContent = this.summPrettify(result) + ' руб.';
}
},
deep: true,
immediate: true,
},
},
methods: {
getGoods: function() {//получаем товары из корзины пользователя
fetch("https://<?=$_SERVER["HTTP_HOST"]?>/basket/getPersonalBasketGoods.php")
.then(response => response.json())
.then(json => {
this.goods = json;
});
},
goodsPlus: function (item) {//увеличиваем кол-во товара
let product_id = item.PRODUCT_ID;
id = Number(item.ID);
product_name = item.NAME;
product_quant = Number(item.QUANTITY) + 1;
var price = round(item.PRICE,2);
product_price = item.PRICE;
$.ajax({
type: 'POST',
url: '/basket/ajax.php',
data: {
'ACTION': 'CART_UPDATE',
'PRODUCT': product_id,
'QUANTITY': product_quant,
'NAME': product_name,
'PRODUCT_CART_ID': id,
// 'PRICE': product_price,
},
success: () => {
item.QUANTITY = Number(item.QUANTITY) + 1
}
});
},
goodsMinus: function (item) {//уменьшаем кол-во товара
if (item.QUANTITY > Number('<?=COUNT_ADD_BASKET?>')) {
let product_id = item.PRODUCT_ID;
id = Number(item.ID);
product_name = item.NAME;
product_quant = Number(item.QUANTITY) - 1;
var price = round(item.PRICE,2);
product_price = item.PRICE;
$.ajax({
type: 'POST',
url: '/basket/ajax.php',
data: {
'ACTION': 'CART_UPDATE',
'PRODUCT': product_id,
'QUANTITY': product_quant,
'NAME': product_name,
'PRODUCT_CART_ID': id,
},
success: () => {
item.QUANTITY = Number(item.QUANTITY) - 1
}
});
}else{
item.QUANTITY = Number('<?=COUNT_ADD_BASKET?>');
}
},
goodsDelete: function (item, key) {//удаляем товар
let product_id = item.PRODUCT_ID;
id = Number(item.ID);
product_name = item.NAME;
product_quant = 1;
product_price = item.PRICE;
$.ajax({
type: 'POST',
url: '/basket/ajax.php',
data: {
'ACTION': 'DEL_PRODUCT',
'PRODUCT_ID': id,
'NAME': product_name,
},
success: () => { this.goods.splice(key, 1) },
})
},
summPrettify: function(num){//улучшение визуального вида суммы. добавляем пробелы между цифрами.
var n = num.toString();
return n.replace(/(\d{1,3}(?=(?:\d\d\d)+(?!\d)))/g, "$1" + ' ');
},
rounded: function(number){
return +number.toFixed(2);
},
},
mounted: function () {
this.getGoods();
},
});
window.vm = vm;
</script>
<?}?>
Создадим файл getPersonalBasketGoods.php, в котором будет формироваться массив для корзины.
<?
define("NO_KEEP_STATISTIC", true);
define('BX_SESSION_ID_CHANGE', false);
define('NO_AGENT_CHECK', true);
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
use Bitrix\Main\Context,
Bitrix\Currency\CurrencyManager,
Bitrix\Sale\Order,
Bitrix\Sale\Basket,
Bitrix\Sale\Delivery,
Bitrix\Sale\PaySystem;
Bitrix\Main\Loader::includeModule("sale");
Bitrix\Main\Loader::includeModule("catalog");
Bitrix\Main\Loader::includeModule("sale");
//получаем корзину
$basket = \Bitrix\Sale\Basket::loadItemsForFUser(\Bitrix\Sale\Fuser::getId(CSaleBasket::GetBasketUserID()), \Bitrix\Main\Context::getCurrent()->getSite());
//скидка
$fuser = new \Bitrix\Sale\Discount\Context\Fuser($basket->getFUserId(true));
$discounts = \Bitrix\Sale\Discount::buildFromBasket($basket, $fuser);
$discounts->calculate();
$result = $discounts->getApplyResult(true);
$prices = $result['PRICES']['BASKET']; // цены товаров с учетом скидки
foreach ($basket as $basketItem) {
$ID = $basketItem->getField('ID');
$PRODUCT_ID = $basketItem->getField('PRODUCT_ID');
$NAME = $basketItem->getField('NAME');
$QUANTITY = $basketItem->getQuantity();
$PRODUCT_ID = $basketItem->getField('PRODUCT_ID');
$DETAIL_PAGE_URL = $basketItem->getField('DETAIL_PAGE_URL');
$BASE_PRICE = $basketItem->getField('BASE_PRICE');
$PRICE = $basketItem->getField('PRICE');
$DISCOUNT = $basketItem->getDiscountPrice();
$FINAL_PRICE = $basketItem->getFinalPrice();
$arResult["BASKET"][] = array(
"ID" => $ID,
"NAME" => $NAME,
"QUANTITY" => $QUANTITY,
"PRODUCT_ID" => $PRODUCT_ID,
"DETAIL_PAGE_URL" => $DETAIL_PAGE_URL,
"BASE_PRICE" => $BASE_PRICE,
"PRICE" =>$PRICE,
);
}
//засовываем скидку
$i = 0;
foreach ($prices as $price){
$arResult["BASKET"][$i]["DISCOUNT"]=$price["PRICE"];
$arResult["BASKET"][$i]["DISCOUNT_PRODUCT"]=round($price["PRICE"] *$arResult["BASKET"][$i]["QUANTITY"], 2);
$i++;
}
//убираем баг когда не отображаюся картинки: перешли в /order/ и затем в каталог и добавили товар
foreach ($arResult["BASKET"] as $key => $value) {
$PRODUCT_ID = $value["PRODUCT_ID"];
$intElementID = $value["PRODUCT_ID"]; // ID предложения
$mxResult = CCatalogSku::GetProductInfo(
$intElementID
);
if (is_array($mxResult))
{
$value["PRODUCT_ID"]= $mxResult['ID']; ///echo 'ID товара = '.$mxResult['ID'];
}
else
{
///ShowError('Это не торговое предложение');
}
//получение карьера, на всякий случай
if(CModule::IncludeModule('iblock'))
{
$arSelect = Array("ID", "IBLOCK_ID", "NAME","DETAIL_PAGE_URL","DETAIL_PICTURE","PREVIEW_PICTURE","PICTURE", "DATE_ACTIVE_FROM","PROPERTY_*");//IBLOCK_ID и ID обязательно должны быть указаны, см. описание arSelectFields выше
$arFilter = Array( "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y","ID"=>$value["PRODUCT_ID"]);
$res = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect);
//можно использовать Fetch, когда нет множественных свойств
while($ob = $res->GetNextElement()){
$arFields = $ob->GetFields();
$arProps = $ob->GetProperties();
$arPhotoSmall = CFile::ResizeImageGet(
($arFields["DETAIL_PICTURE"])?$arFields["DETAIL_PICTURE"]:$arFields["PREVIEW_PICTURE"],
array(
'width'=>250,
'height'=>250
),
BX_RESIZE_IMAGE_PROPORTIONAL,
Array(
"name" => "sharpen",
"precision" => 0
)
);
$arResult["BASKET"][$key]["IMAGE"] = $arPhotoSmall['src'];
if(empty($arResult["BASKET"][$key]["DETAIL_PAGE_URL"])) $arResult["BASKET"][$key]["DETAIL_PAGE_URL"] = $arFields["DETAIL_PAGE_URL"];
$arResult["BASKET"][$key]['COUNTRY_PRODUCTION'] = $arProps["COUNTRY_PRODUCTION"]["VALUE"];
$arResult["BASKET"][$key]['PRODUCT_SEZON'] =implode(" ", $arProps["PRODUCT_SEZON"]["VALUE"]);
$arSKU = CCatalogSKU::getOffersList(
$value["PRODUCT_ID"],
0,
array('ACTIVE' => 'Y'),
array('ID', 'NAME', 'CODE'),
array()
);
$intval_id = intval($PRODUCT_ID);
if ($arSKU[$value["PRODUCT_ID"]]) {
$arResult["BASKET"][$key]['PRODUCT_K'] = $arSKU[$value["PRODUCT_ID"]][$intval_id]["NAME"];
}else $arResult["BASKET"][$key]['PRODUCT_K'] = "";
}
}
}
echo json_encode($arResult["BASKET"]);
Создадим обработчик ajax.php, в котором реализуем обновление товаров и удаление.
<?
define('STOP_STATISTICS', true);
require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php');
$GLOBALS['APPLICATION']->RestartBuffer();
use COption;
use CCurrency;
use CCatalogProduct;
use CFile;
use CModule;
use CCatalogDiscount;
use CCatalogSKU;
use CPrice;
use CCurrencyLang;
use CCurrencyRates;
use CIBlockElement;
use CIBlockPriceTools;
use CSaleBasket;
\CModule::IncludeModule('iblock');
\CModule::IncludeModule('catalog');
\CModule::IncludeModule('sale');
$IBLOCK_ID = 40;//здесь лучше написать класс для получения по коде id инфоблока
$IBLOCK_OFF = 3;
if (\Bitrix\Main\Loader::includeModule("sale") && \Bitrix\Main\Loader::includeModule("catalog") && \Bitrix\Main\Loader::includeModule("iblock"))
{
$ajaxAction = trim( $_POST['ACTION'] );
$ajaxActionForm = trim( $_POST['ACTION_FORM'] );
if ( $_POST['ACTION'] == 'CART_UPDATE' )
{
if ( $_POST['PRODUCT'] ){
$filter = array();
$filter['IBLOCK_ID'] = $IBLOCK_ID;
$filter['ID'] = $_POST['PRODUCT'];
$getOffersList = CIBlockElement::GetList(
array(),
$filter,
false,
false,
array('ID','NAME','DETAIL_PAGE_URL','CATALOG_GROUP_1')
);
if( $getOffersElement = $getOffersList->GetNext() )
{
$postPrice = $getOffersElement['CATALOG_PRICE_1'];
$getOfferPrice = $getOffersElement['CATALOG_PRICE_1'];
$detailPage = $getOffersElement['DETAIL_PAGE_URL'];
$getOffersElement = $getOffersElement['ID'];
$thisName = $getOffersElement['NAME'];
}
}
$arFields = array(
"PRODUCT_ID" => $_POST['PRODUCT'],
"PRODUCT_PRICE_ID" => 1,
"PRICE" => $postPrice,
"CURRENCY" => "RUB",
"QUANTITY" => $_POST['QUANTITY'],
"LID" => 's1',
"DELAY" => "N",
"CAN_BUY" => "Y",
"NAME" => $_POST['NAME'],
"MODULE" => "catalog",
"PRODUCT_PROVIDER_CLASS"=>'CCatalogProductProvider',
"DETAIL_PAGE_URL" => $detailPage
);
CSaleBasket::Update($_POST['PRODUCT_CART_ID'], $arFields);
}
if ($_POST['ACTION'] == 'DEL_PRODUCT')
{
CSaleBasket::Delete($_POST['PRODUCT_ID']);
}
}
Стили будут отличаться, сама корзина представлена для примера. Поэтому и стили также не являются полным соответствием, и представлены только для части корзины. Так как остальная часть всегда будет отличаться.
/* ------------------------------------ */
/* ------------------------------------ */
/* ------------------------------------ */
/* -------=========CART==========------ */
/* ------------------------------------ */
/* ------------------------------------ */
/* ------------------------------------ */
.cart {
margin-top: 67px; }
.cart .wrapper {
display: grid;
grid-template-columns: 1095px 261px;
column-gap: 84px; }
.cart .wrapper .cart_header {
grid-column-start: 1;
grid-column-end: 2;
grid-row-start: 1;
grid-row-end: 2;
margin-bottom: 65px; }
.cart .wrapper .cart_header .header_title {
font-size: 48px;
line-height: 46px;
font-family: "OpiumNewC" !important;
font-weight: 500 !important;
margin-bottom: 25px; }
.cart .wrapper .cart_header .header_subtitle {
font-size: 18px;
line-height: 175%;
color: #373737;
font-family: "OpiumNewC" !important;
font-weight: 400 !important; }
.cart .wrapper .cart_main {
grid-column-start: 1;
grid-column-end: 2;
grid-row-start: 2;
grid-row-end: 3; }
.cart .wrapper .cart_main .cart_line {
display: grid;
grid-template-columns: 259px 134px 96px 255px 96px 132px 79px 38px;
grid-template-columns: 12.49vw 6.979vw 5vw 11.281vw 5vw 6.875vw 5.115vw 1.979vw;
padding: 34px 0;
align-items: center;
border-bottom: 1px solid #C4C4C4; }
.cart .wrapper .cart_main .cart_line .line_img {
display: none; }
.cart .wrapper .cart_main .cart_line .line_desc {
display: none; }
.cart .wrapper .cart_main .cart_line p {
font-size: 16px;
line-height: 15px;
font-family: "OpiumNewC" !important;
font-weight: 500 !important;
color: #000000;
word-wrap: break-word; }
.cart .wrapper .cart_main .cart_line .line_name {
padding-right: 0 15px; }
.cart .wrapper .cart_main .cart_line .line_country {
text-align: center;
padding: 0 15px; }
.cart .wrapper .cart_main .cart_line .line_season {
text-align: center;
padding: 0 10px; }
.cart .wrapper .cart_main .cart_line .line_size {
padding-left: 25px; }
.cart .wrapper .cart_main .cart_line .line_price {
padding: 0 10px; }
.cart .wrapper .cart_main .cart_line .line_counter {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 10px; }
.cart .wrapper .cart_main .cart_line .line_counter img {
cursor: pointer; }
.cart .wrapper .cart_main .cart_line .line_summary {
padding-left: 15px; }
.cart .wrapper .cart_main .cart_line .line_delete {
display: flex;
justify-content: flex-end;
align-items: center; }
.cart .wrapper .cart_main .cart_line:first-child {
padding: 0;
padding-bottom: 10px; }
.cart .wrapper .cart_main .cart_line:first-child p {
color: #61a036; }
.cart .wrapper .cart_main .cart_line:first-child .line_counter {
display: flex;
justify-content: center; }
.cart .wrapper .cart_main .cart_summ {
display: flex;
justify-content: flex-end;
padding-top: 20px;
padding-bottom: 48px;
font-size: 24px;
line-height: 23px;
font-family: "OpiumNewC" !important;
font-weight: 500 !important; }
.cart .wrapper .cart_main .cart_summ span {
font-size: 36px;
line-height: 34px; }
.cart .wrapper .cart_main .cart_buy {
display: block;
background: #61a036;
border-radius: 7px;
padding: 20px;
color: #FFFFFF;
border: 0;
font-family: "OpiumNewC" !important;
font-weight: 500 !important;
font-size: 18px;
line-height: 17px;
text-align: center;
margin-bottom: 167px; }
.cart .wrapper .cart_sidebar {
grid-column-start: 2;
grid-column-end: 3;
grid-row-start: 1;
grid-row-end: 3; }
.cart .wrapper .cart_sidebar .sidebar_blk {
position: relative;
padding-left: 73px;
padding-top: 8px; }
.cart .wrapper .cart_sidebar .sidebar_blk .sidebar_blk_title {
font-size: 18px;
line-height: 153.69%;
font-family: "OpiumNewC" !important;
font-weight: 500 !important;
margin-bottom: 10px; }
.cart .wrapper .cart_sidebar .sidebar_blk .sidebar_blk_desc {
font-size: 14px;
line-height: 175%;
font-family: "OpiumNewC" !important;
font-weight: 400 !important;
color: #969696; }
.cart .wrapper .cart_sidebar .sidebar_blk .subtitle_img {
position: absolute;
left: 0;
top: 0;
width: 48px;
height: 48px; }
@media screen and (max-width: 1920px){
.cathalog_cathalog .wrapper .cathalog_main .cathalog_main_filter .cathalog_main_filter_groupbox:nth-of-type(4) .filter_selection {
min-width: 13.698vw;
}
.cathalog_cathalog .wrapper .cathalog_main .cathalog_products .product_blk .product_heart{
border-radius: 11px 11px 21px 19px;
}
.cart {
margin-top: 3.490vw; }
.cart .wrapper {
grid-template-columns: 57.031vw 13.594vw;
column-gap: 4.375vw; }
.cart .wrapper .cart_header {
margin-bottom: 3.385vw; }
.cart .wrapper .cart_header .header_title {
font-size: 2.500vw;
line-height: 2.396vw;
margin-bottom: 1.302vw; }
.cart .wrapper .cart_header .header_subtitle {
font-size: 0.938vw; }
.cart .wrapper .cart_main {
border-radius: 0.365vw;
padding: 1.042vw 0;
font-size: 0.938vw;
line-height: 0.885vw;
margin-bottom: 8.698vw; }
.cart .wrapper .cart_main .cart_line {
/*grid-template-columns: 13.490vw 6.979vw 5vw 13.281vw 5vw 6.875vw 4.115vw 1.979vw;*/
grid-template-columns: 12.49vw 6.979vw 5vw 11.281vw 5vw 6.875vw 5.115vw 1.979vw;
padding: 1.771vw 0; }
.cart .wrapper .cart_main .cart_line p {
font-size: 0.833vw;
line-height: 0.781vw; }
.cart .wrapper .cart_main .cart_line .line_name {
padding-right: 0 0.781vw; }
.cart .wrapper .cart_main .cart_line .line_country {
padding: 0 0.781vw; }
.cart .wrapper .cart_main .cart_line .line_season {
padding: 0 0.521vw; }
.cart .wrapper .cart_main .cart_line .line_size {
padding-left: 1.302vw; }
.cart .wrapper .cart_main .cart_line .line_price {
padding: 0 0.521vw; }
.cart .wrapper .cart_main .cart_line .line_counter {
padding: 0 0.521vw; }
.cart .wrapper .cart_main .cart_line .line_counter img {
width: 1.667vw;
height: 1.667vw; }
.cart .wrapper .cart_main .cart_line .line_summary {
padding-left: 0.781vw; }
.cart .wrapper .cart_main .cart_line .line_delete img {
width: 1.042vw;
height: 1.042vw; }
.cart .wrapper .cart_main .cart_line:first-child {
padding: 0;
padding-bottom: 0.521vw; }
.cart .wrapper .cart_main .cart_summ {
padding-top: 1.042vw;
padding-bottom: 2.500vw;
font-size: 1.250vw;
line-height: 1.198vw; }
.cart .wrapper .cart_main .cart_summ span {
font-size: 1.875vw;
line-height: 1.771vw; }
.cart .wrapper .cart_sidebar .sidebar_blk {
padding-left: 3.802vw;
padding-top: 0.417vw; }
.cart .wrapper .cart_sidebar .sidebar_blk .sidebar_blk_title {
font-size: 0.938vw;
margin-bottom: 0.521vw; }
.cart .wrapper .cart_sidebar .sidebar_blk .sidebar_blk_desc {
font-size: 0.729vw; }
.cart .wrapper .cart_sidebar .sidebar_blk .subtitle_img {
width: 2.500vw;
height: 2.500vw; }
}
.politic_margin{
margin-top: 20px;
margin-bottom: 20px;
}
.popular_blocks .product_heart{
position: absolute;
top: 19px;
right: 21px;
}
/*
.popular_blocks .favor.active{
border-radius: 29px 38px 73px 65px;
height: 19px;
width: 19px;
background: url(/img/favor_cart_active.png);
}*/
/*
.product_product .favor.active{
border-radius: 29px 38px 73px 65px;
height: 20px;
width: 26px;
background: url(/img/favor_detail_active.png);
}
*/
@media (min-width: 768px) and (max-width: 769px){
.header_mobile_burger{
margin-left: 30px;
}
}
@media (min-width: 1023px) and (max-width: 1024px) {
.header .desktop .desktop_header_wrapper .desktop_nav .desktop_nav_items a{
margin-right: 0.442vw !important;
}
}
@media screen and (max-width: 768px){
.cart .wrapper .cart_main .cart_line .line_desc {
display: block;
position: relative;
padding: 0 2.734vw 0 2.604vw;
}
.cart {
margin-top: 2.604vw; }
.cart .wrapper {
grid-template-columns: 1fr;
column-gap: 0;
padding: 0 0px; }
.cart .wrapper .cart_header {
margin-bottom: 2.604vw;
grid-column-start: 1;
grid-column-end: 2;
grid-row-start: 1;
grid-row-end: 2; }
.cart .wrapper .cart_header .header_title {
font-size: 3.125vw;
line-height: 3.125vw;
margin-bottom: 2.604vw; }
.cart .wrapper .cart_header .header_subtitle {
font-size: 1.823vw; }
.cart .wrapper .cart_main {
grid-column-start: 1;
grid-column-end: 2;
grid-row-start: 3;
grid-row-end: 4; }
.cart .wrapper .cart_main .cart_line {
grid-template-columns: 30.599vw 19.271vw 11.849vw 17.188vw 10.286vw 4.818vw;
padding: 1.771vw 0; }
.cart .wrapper .cart_main .cart_line p {
font-size: 2.083vw;
line-height: 2.083vw; }
.cart .wrapper .cart_main .cart_line .line_name {
padding-right: 0; }
.cart .wrapper .cart_main .cart_line .line_country {
display: none; }
.cart .wrapper .cart_main .cart_line .line_season {
display: none; }
.cart .wrapper .cart_main .cart_line .line_size {
display: none; }
.cart .wrapper .cart_main .cart_line .line_desc {
display: block;
position: relative;
padding: 0 2.734vw 0 2.604vw; }
.cart .wrapper .cart_main .cart_line .line_desc .desc_btn {
padding: 0.651vw 2.214vw;
background: #61a036;
border-radius: 0.911vw;
color: #FFFFFF;
font-size: 1.563vw;
line-height: 153.69%;
text-align: center; }
.cart .wrapper .cart_main .cart_line .line_desc .desc_btn a{
color: #fff;
}
.cart .wrapper .cart_main .cart_line .line_desc .desc_desc {
position: absolute;
width: 63.542vw;
background: white;
z-index: 1;
padding: 2.083vw 2.083vw 0.911vw 1.693vw;
transform: translateX(-40%);
border: 1px solid #61a036;
align-items: center;
opacity: 0;
visibility: hidden;
transition: .3s; }
.cart .wrapper .cart_main .cart_line .line_desc .desc_desc p {
font-size: 2.083vw;
line-height: 1.953vw;
font-family: "OpiumNewC" !important;
font-weight: 400 !important; }
.cart .wrapper .cart_main .cart_line .line_desc .desc_desc .desc_line {
display: grid;
grid-template-columns: 11.589vw 11.849vw 1fr;
padding: 5.599vw 0;
border-bottom: 1px solid #C4C4C4; }
.cart .wrapper .cart_main .cart_line .line_desc .desc_desc .desc_line:first-child {
padding: 0;
padding-bottom: 1.302vw; }
.cart .wrapper .cart_main .cart_line .line_desc .desc_desc .desc_line:first-child p {
color: #61a036; }
.cart .wrapper .cart_main .cart_line .line_desc .desc_desc .desc_line p:nth-child(1) {
padding-right: 0.651vw; }
.cart .wrapper .cart_main .cart_line .line_desc .desc_desc .desc_line p:nth-child(2) {
padding: 0 0.651vw; }
.cart .wrapper .cart_main .cart_line .line_desc .desc_desc .desc_close {
position: absolute;
top: 7px;
right: 10px; }
.cart .wrapper .cart_main .cart_line .line_desc .desc_desc-active {
opacity: 1;
visibility: visible; }
.cart .wrapper .cart_main .cart_line .line_price {
padding: 0 0.521vw; }
.cart .wrapper .cart_main .cart_line .line_counter {
padding: 0 15px; }
.cart .wrapper .cart_main .cart_line .line_counter img {
width: 4.167vw;
height: 4.167vw; }
.cart .wrapper .cart_main .cart_line .line_summary {
padding-left: 0.781vw; }
.cart .wrapper .cart_main .cart_line .line_delete img {
width: 2.604vw;
height: 2.604vw; }
.cart .wrapper .cart_main .cart_line:first-child {
padding: 0;
padding-bottom: 0.521vw; }
.cart .wrapper .cart_main .cart_summ {
padding-top: 2.604vw;
padding-bottom: 5.859vw;
font-size: 3.125vw;
line-height: 2.995vw; }
.cart .wrapper .cart_main .cart_summ span {
font-size: 4.688vw;
line-height: 4.427vw; }
.cart .wrapper .cart_main .cart_buy {
border-radius: 0.911vw;
padding: 2.604vw;
font-size: 2.344vw;
line-height: 2.214vw;
margin-bottom: 9.505vw; }
.cart .wrapper .cart_sidebar {
grid-column-start: 1;
grid-column-end: 2;
grid-row-start: 2;
grid-row-end: 3;
display: flex;
flex-direction: row; }
.cart .wrapper .cart_sidebar .sidebar_blk {
display: flex;
flex-direction: row-reverse;
align-items: center;
padding-top: 0;
margin-right: 7.161vw;
padding-left: 0;
margin-bottom: 1.953vw; }
.cart .wrapper .cart_sidebar .sidebar_blk .sidebar_blk_title {
font-size: 2.344vw;
margin-bottom: 0;
margin-left: 3.255vw; }
.cart .wrapper .cart_sidebar .sidebar_blk .sidebar_blk_desc {
display: none; }
.cart .wrapper .cart_sidebar .sidebar_blk .subtitle_img {
position: relative;
width: 6.250vw;
height: 6.250vw; }
.cart .wrapper .cart_sidebar .sidebar_blk:last-child {
margin-right: 0; }
}
@media screen and (max-width: 520px){
.cart {
margin-top: 5.604vw; }
.cart .wrapper {
grid-template-columns: 1fr;
column-gap: 0;
padding: 0 0px; }
.cart .wrapper .cart_header {
margin-bottom: 6.250vw; }
.cart .wrapper .cart_header .header_title {
font-size: 4.375vw;
line-height: 4.375vw;
margin-bottom: 2.604vw; }
.cart .wrapper .cart_header .header_subtitle {
font-size: 4.063vw; }
.cart .wrapper .cart_main {
grid-column-start: 1;
grid-column-end: 2;
grid-row-start: 3;
grid-row-end: 4;
width: 93.750vw; }
.cart .wrapper .cart_main .cart_line {
grid-template-columns: 28.125vw 18.750vw 30.625vw 16.875vw;
padding: 0 0;
position: relative;
border: 0;
margin-bottom: 12.500vw; }
.cart .wrapper .cart_main .cart_line p, .cart .wrapper .cart_main .cart_line span {
/*font-size: 4.063vw;*/
font-size: 3.363vw;
line-height: 4.063vw; }
.cart .wrapper .cart_main .cart_line span {
color: #61a036;
display: block !important;
font-family: "OpiumNewC" !important;
font-weight: 500 !important; }
.cart .wrapper .cart_main .cart_line .line_img {
display: block;
grid-column-start: 1;
grid-column-end: 2;
grid-row-start: 2;
grid-row-end: 4; }
.cart .wrapper .cart_main .cart_line .line_img img {
width: 28.125vw;
height: 28.125vw; }
.cart .wrapper .cart_main .cart_line .line_desc {
padding: 0;
grid-column-start: 2;
grid-column-end: 5;
grid-row-start: 2;
grid-row-end: 3; }
.cart .wrapper .cart_main .cart_line .line_desc .desc_btn {
padding: 2.188vw 10.625vw;
border-radius: 2.188vw;
font-size: 3.125vw;
width: fit-content;
margin-left: 3.125vw;
margin-bottom: 1.563vw; }
.cart .wrapper .cart_main .cart_line .line_desc .desc_desc {
width: 95.625vw;
padding: 3.750vw 2.188vw;
transform: translateX(-31.5%); }
.cart .wrapper .cart_main .cart_line .line_desc .desc_desc p {
font-size: 4.063vw;
line-height: 4.063vw; }
.cart .wrapper .cart_main .cart_line .line_desc .desc_desc .desc_line {
grid-template-columns: 18.750vw 20vw 1fr;
padding: 9.375vw 0;
border-bottom: 1px solid #C4C4C4; }
.cart .wrapper .cart_main .cart_line .line_desc .desc_desc .desc_line:first-child {
padding: 0;
padding-bottom: 1.302vw; }
.cart .wrapper .cart_main .cart_line .line_desc .desc_desc .desc_line:first-child p {
color: #61a036; }
.cart .wrapper .cart_main .cart_line .line_desc .desc_desc .desc_line p:nth-child(1) {
padding-right: 1.151vw; }
.cart .wrapper .cart_main .cart_line .line_desc .desc_desc .desc_line p:nth-child(2) {
padding: 0 1.151vw; }
.cart .wrapper .cart_main .cart_line .line_desc .desc_desc .desc_close {
position: absolute;
top: 2.188vw;
right: 3.125vw; }
.cart .wrapper .cart_main .cart_line .line_desc .desc_desc .desc_close img {
width: 3.750vw;
height: 3.750vw; }
.cart .wrapper .cart_main .cart_line .line_desc .desc_desc-active {
opacity: 1;
visibility: visible; }
.cart .wrapper .cart_main .cart_line .line_name {
grid-column-start: 1;
grid-column-end: 5;
grid-row-start: 1;
grid-row-end: 2;
padding: 0.938vw 10.938vw 0.938vw 0;
text-align: right;
margin-bottom: 3.125vw; }
.cart .wrapper .cart_main .cart_line .line_price {
padding: 0 0.521vw;
display: flex;
flex-direction: column-reverse;
align-items: center;
border-right: 1px solid #C4C4C4; }
.cart .wrapper .cart_main .cart_line .line_price span {
margin-bottom: 5.938vw; }
.cart .wrapper .cart_main .cart_line .line_counter {
padding: 0 1.563vw;
display: grid;
grid-template-columns: repeat(3, 1fr);
justify-items: center; }
.cart .wrapper .cart_main .cart_line .line_counter span {
grid-column-start: 1;
grid-column-end: 4;
text-align: center;
margin-bottom: 3.125vw; }
.cart .wrapper .cart_main .cart_line .line_counter img {
width: 7.813vw;
height: 7.813vw;
text-align: center; }
.cart .wrapper .cart_main .cart_line .line_summary {
padding-left: 0.781vw;
display: flex;
flex-direction: column;
align-items: center;
border-left: 1px solid #C4C4C4;
justify-content: center; }
.cart .wrapper .cart_main .cart_line .line_summary span {
margin-bottom: 5.938vw; }
.cart .wrapper .cart_main .cart_line .line_delete {
position: absolute;
right: 0;
top: 0; }
.cart .wrapper .cart_main .cart_line .line_delete img {
width: 4.688vw;
height: 4.688vw; }
.cart .wrapper .cart_main .cart_line:first-child {
display: none; }
.cart .wrapper .cart_main .cart_summ {
padding-top: 0;
padding-bottom: 7.813vw;
font-size: 4.063vw;
line-height: 4.063vw; }
.cart .wrapper .cart_main .cart_summ span {
font-size: 5.625vw;
line-height: 5.625vw; }
.cart .wrapper .cart_main .cart_buy {
border-radius: 0.911vw;
padding: 3.750vw;
font-size: 3.750vw;
line-height: 3.750vw;
margin-bottom: 14.063vw; }
.cart .wrapper .cart_sidebar {
grid-column-start: 1;
grid-column-end: 2;
grid-row-start: 2;
grid-row-end: 3;
display: flex;
flex-direction: row;
flex-wrap: wrap; }
.cart .wrapper .cart_sidebar .sidebar_blk {
display: flex;
flex-direction: row-reverse;
align-items: center;
padding-top: 0;
margin-right: 7.813vw;
padding-left: 0;
margin-bottom: 7.500vw; }
.cart .wrapper .cart_sidebar .sidebar_blk .sidebar_blk_title {
font-size: 4.375vw;
margin-bottom: 0;
margin-left: 3.255vw; }
.cart .wrapper .cart_sidebar .sidebar_blk .sidebar_blk_desc {
display: none; }
.cart .wrapper .cart_sidebar .sidebar_blk .subtitle_img {
position: relative;
width: 9.375vw;
height: 9.375vw; }
.cart .wrapper .cart_sidebar .sidebar_blk:last-child {
margin-right: 0; }
.cart .wrapper .cart_sidebar .sidebar_blk:nth-child(2) {
margin-right: 0; }
/* MAKE ORDER*/
.make-an-order .wrapper {
padding-top: 7.813vw;
column-gap: 0;
grid-template-columns: 100%;
width: 87.500vw; }
.make-an-order .wrapper .make-an-order_title {
font-size: 7.500vw;
line-height: 8.750vw;
margin-bottom: 10.313vw;
text-align: center; }
.make-an-order .wrapper .make-an-order_status {
display: none; }
.make-an-order .wrapper .make-an-order_my-data {
margin-bottom: 11.250vw;
width: 100%; }
.make-an-order .wrapper .make-an-order_my-data .my-data_header {
margin-bottom: 4.167vw; }
.make-an-order .wrapper .make-an-order_my-data .my-data_header .my-data_title {
font-size: 5.625vw;
line-height: 6.563vw;
padding: 1.875vw 0 1.875vw 15vw;
background-size: 10vw; }
.make-an-order .wrapper .make-an-order_my-data .my-data_header .my-data_hint {
display: none; }
.make-an-order .wrapper .make-an-order_my-data .my-data_inputs {
width: 100%; }
.make-an-order .wrapper .make-an-order_my-data .my-data_inputs .my-data_groupbox .my-data_input-title {
font-size: 4.375vw;
line-height: 4.063vw;
margin-bottom: 4.688vw;
font-family: "OpiumNewC" !important;
font-weight: 500 !important; }
.make-an-order .wrapper .make-an-order_my-data .my-data_inputs .my-data_groupbox .my-data_input {
font-size: 4.375vw;
line-height: 4.063vw;
border-radius: 2.188vw;
padding: 3.438vw 6.250vw;
margin-bottom: 4.688vw; }
.make-an-order .wrapper .make-an-order_my-data .my-data_inputs .my-data_groupbox-splitted {
flex-direction: column; }
.make-an-order .wrapper .make-an-order_my-data .my-data_inputs .my-data_groupbox-splitted .my-data_groupbox {
width: 100%; }
.make-an-order .wrapper .make-an-order_my-data .my-data_inputs .my-data_checkbox label {
font-size: 4.375vw;
line-height: 4.063vw;
padding: 0 0 0 9.688vw;
background-size: 6.250vw;
display: block;
font-family: "OpiumNewC" !important;
font-weight: 500 !important; }
.make-an-order .wrapper .make-an-order_my-data .my-data_inputs .my-data_checkbox input:checked + label {
background-size: 6.875vw; }
.make-an-order .wrapper .make-an-order_delivey-method {
margin-bottom: 4.063vw;
grid-column-start: 1;
grid-column-end: 3; }
.make-an-order .wrapper .make-an-order_delivey-method .delivey-method_header {
font-size: 5.625vw;
line-height: 6.563vw;
padding: 1.875vw 0 1.875vw 15vw;
background-size: 10vw;
display: block;
margin: 0 auto;
margin-bottom: 12.813vw;
text-align: center;
width: fit-content; }
.make-an-order .wrapper .make-an-order_delivey-method .delivey-method_methods {
column-gap: 0;
grid-template-columns: 1fr; }
.make-an-order .wrapper .make-an-order_delivey-method .delivey-method_methods .delivey-method_method {
width: 100%;
position: relative; }
.make-an-order .wrapper .make-an-order_delivey-method .delivey-method_methods .delivey-method_method label {
font-size: 4.375vw;
line-height: 4.063vw;
padding: 0 0 0 9.688vw;
background-size: 6.250vw;
width: 51.563vw;
margin-bottom: 3.125vw;
min-height: 7.500vw; }
.make-an-order .wrapper .make-an-order_delivey-method .delivey-method_methods .delivey-method_method label span {
position: absolute;
right: 0;
padding: 1.563vw;
border-radius: 0.938vw;
margin-top: 0.239vw; }
.make-an-order .wrapper .make-an-order_delivey-method .delivey-method_methods .delivey-method_method input:checked + label {
background-size: 8.500vw;
margin-left: -1vw;
padding-left: 10.688vw; }
.make-an-order .wrapper .make-an-order_delivey-method .delivey-method_methods .delivey-method_method .method_desc {
padding-left: 9.688vw;
font-size: 3.750vw;
margin-bottom: 8.438vw; }
.make-an-order .wrapper .make-an-order_adress {
width: 100%;
grid-column-start: 1;
grid-column-end: 3; }
.make-an-order .wrapper .make-an-order_adress input, .make-an-order .wrapper .make-an-order_adress select {
font-size: 5.625vw;
line-height: 6.563vw;
border-radius: 2.188vw;
padding: 3.438vw 6.250vw; }
.make-an-order .wrapper .make-an-order_adress .adress_input_title {
font-size: 5.625vw;
line-height: 6.563vw;
margin-bottom: 4.688vw; }
.make-an-order .wrapper .make-an-order_adress .adress_line1 {
flex-direction: column; }
.make-an-order .wrapper .make-an-order_adress .adress_line1 .adress_groupbox {
margin-bottom: 4.688vw; }
.make-an-order .wrapper .make-an-order_adress .adress_line1 .adress_groupbox:nth-of-type(1) {
width: 100%; }
.make-an-order .wrapper .make-an-order_adress .adress_line1 .adress_groupbox:nth-of-type(2) {
width: 100%; }
.make-an-order .wrapper .make-an-order_adress .adress_line1 .adress_groupbox:nth-of-type(3) {
width: 100%; }
.make-an-order .wrapper .make-an-order_adress .adress_line1 .adress_groupbox:nth-of-type(3) select {
width: 41.250vw; }
.make-an-order .wrapper .make-an-order_adress .adress_line1 .adress_groupbox:nth-of-type(3) .groupbox_splitter {
padding: 1.563vw;
font-size: 5.625vw; }
.make-an-order .wrapper .make-an-order_adress .adress_line2 {
margin-bottom: 3.906vw;
display: flex;
flex-direction: column; }
.make-an-order .wrapper .make-an-order_adress .adress_line2 .adress_groupbox {
margin-bottom: 4.688vw; }
.make-an-order .wrapper .make-an-order_adress .adress_line2 .adress_groupbox input, .make-an-order .wrapper .make-an-order_adress .adress_line2 .adress_groupbox select {
width: 100%;
font-size: 5.625vw;
line-height: 6.563vw;
border-radius: 2.188vw;
padding: 3.438vw 6.250vw; }
.make-an-order .wrapper .make-an-order_adress .adress_line2 .adress_groupbox:nth-of-type(1) {
width: 100%; }
.make-an-order .wrapper .make-an-order_adress .adress_line2 .adress_groupbox:nth-of-type(2) {
width: 100%; }
.make-an-order .wrapper .make-an-order_payment-way {
grid-column-start: 1;
grid-column-end: 2;
display: flex;
flex-direction: column;
width: 100%; }
.make-an-order .wrapper .make-an-order_payment-way .payment-way_title {
font-size: 5.625vw;
line-height: 6.563vw;
padding: 1.875vw 0 1.875vw 15vw;
background-size: 10vw;
display: block;
margin: 0 auto;
margin-bottom: 12.813vw;
text-align: center;
width: fit-content; }
.make-an-order .wrapper .make-an-order_payment-way .payment-way_way {
width: 100%; }
.make-an-order .wrapper .make-an-order_payment-way .payment-way_way label {
font-size: 4.375vw;
line-height: 4.063vw;
padding: 1.250vw 0 1.250vw 9.688vw;
background-size: 6.250vw;
margin-bottom: 3.125vw; }
.make-an-order .wrapper .make-an-order_payment-way .payment-way_way input:checked + label {
background-size: 8.500vw;
margin-left: -1vw;
padding-left: 10.688vw; }
.make-an-order .wrapper .make-an-order_payment-way .payment-way_way .way_description {
padding-left: 9.688vw;
font-size: 3.750vw;
margin-bottom: 8.438vw;
line-height: 6.563vw; }
.make-an-order .wrapper .make-an-order_payment-way .payment-way_way .way_description:last-child {
margin-bottom: 12.500vw; }
.make-an-order .wrapper .make-an-order_payment-way .payment-way_pay-btn {
padding: 15px;
font-size: 18px;
border-radius: 7px;
width: 100%;
margin-bottom: 9.375vw; }
.make-an-order .wrapper .make-an-order_my-order {
width: 100%;
grid-column-start: 2;
grid-column-end: 1;
grid-row-start: 6;
grid-row-end: 6; }
.make-an-order .wrapper .make-an-order_my-order .my-order_header {
font-size: 5.625vw;
line-height: 6.563vw;
padding: 1.875vw 0 1.875vw 15vw;
background-size: 10vw;
display: block;
margin: 0 auto;
margin-bottom: 9.375vw;
text-align: center;
width: fit-content; }
.make-an-order .wrapper .make-an-order_my-order .my-order_main {
padding: 4.688vw;
border-radius: 2.188vw;
margin-bottom: 7.813vw; }
.make-an-order .wrapper .make-an-order_my-order .my-order_main .my-order_product p {
font-size: 4.375vw;
line-height: 4.063vw;
margin-bottom: 7.813vw; }
.make-an-order .wrapper .make-an-order_my-order .my-order_main .my-order_product .product_name {
width: 54.125vw; }
.make-an-order .wrapper .make-an-order_my-order .my-order_main .my-order_product .product_price {
margin-left: 0.694vw; }
.make-an-order .wrapper .make-an-order_my-order .my-order_main .my-order_delivery p {
font-size: 4.375vw;
font-size: 3.675vw;
line-height: 4.063vw;
margin-bottom: 7.813vw; }
.make-an-order .wrapper .make-an-order_my-order .my-order_main .my-order_delivery .delivery_name {
width: 54.125vw; }
.make-an-order .wrapper .make-an-order_my-order .my-order_main .my-order_delivery .delivery_price {
margin-left: 0.694vw;
font-size: 5.625vw;
line-height: 6.563vw; }
.make-an-order .wrapper .make-an-order_my-order .my-order_main .my-order_summ {
padding-top: 7.813vw; }
.make-an-order .wrapper .make-an-order_my-order .my-order_main .my-order_summ .summ_text {
font-size: 4.375vw;
line-height: 4.063vw; }
.make-an-order .wrapper .make-an-order_my-order .my-order_main .my-order_summ .summ_summ {
/*font-size: 7.500vw;*/
font-size: 4.500vw;
line-height: 8.750vw;
margin-left: 0.694vw; }
}
.auth-message.mes-text p{
text-align: left;
}
p.counter_minus, p.counter_plus,.sidebar_tell-friends a.social_share{
cursor: pointer;
}
.back_nono_product{
background: #C4C4C4 !important;
}
.pagination_blk a {
padding: 13px 20px;
border: 1px solid #61a036;
border-radius: 10px;
}
.lk .wrapper .lk_main-info .info_fieldname{
font-size: 18px;
}
.about_sertificats .wrapper .about_sertificats_slider .swiper-container .swiper-wrapper .swiper-slide .sertificats_sertificat img{
border: 1px solid #61a036;
border-radius: 12px;
}
@media (max-width: 470px) {
#myModal > div > div.modal-header > h2{
margin-left: -10px;
font-size: 16px;
}
#myModal > div > div.modal-header > span{
font-size: 20px;
}
}
.pagination_blk{
padding: 1px !important;
}
.navigation_left, .navigation_right{
align-items: center !important;
}
.pagination_blk-active{
margin-top: -1px !important;
height: 2.550vw; !important;
}
.product_button {
background: #61a036;
border-radius: 7px;
display: block;
padding: 16px;
text-align: center;
color: white;
font-size: 16px;
line-height: 15px;
font-family: "OpiumNewC" !important;
font-weight: 400 !important;
}
@media(min-width: 1024px){
.popular_class_width{
/*width: calc(20% );*/
min-width: 237px;
}
.catalog_quantity_width{
flex-wrap: inherit;
}
.catalog_quantity_width .card__calc{
margin-left: 5px;
}
.make-an-order.order_success-wrap.basket-empty{
min-height: 600px;
}
.lk .wrapper .lk_selection-blk{
position: relative;
padding-right: 30px;
width: 100%;
}
.lk .cathalog_main_filter_groupbox {
display: flex;
align-items: center;
position: absolute;
/* margin-left: 35.5%; */
right: 30px;
margin:0;
}
.lk .wrapper .lk_header{
padding-right: 30px;
}
}
@media (max-width: 450px){
.card__btn-buy.disabled{
/*margin-top:30px !important;*/
font-size: 16px;
}
.about_sertificats .wrapper .about_sertificats_slider .swiper-container {
margin: 0px 37px;
}
.about_sertificats .wrapper .about_sertificats_slider .swiper-container .swiper-wrapper .swiper-slide .sertificats_sertificat {
width: 195px;
margin-right: 40px;
}
.about_sertificats .wrapper .about_sertificats_slider .swiper-button-prev{
left: 10px;
}
.about_sertificats .wrapper .about_sertificats_slider .swiper-button-next {
right: 10px;
}
.about_webs .wrapper .webs_main{
display: none;
}
.popular__list{
margin-top: 15px;
}
.cathalog_cathalog .wrapper .wrapper{
padding-left: 0px;
padding-right: 30px;
}
.popular.recomends_class{
margin-top:30px;
}
.mobile_search_in_catalog{
display:block;
width: 100%;
}
.cathalog_main .swiper-container{
width: 100%;
}
}
@media(min-width: 451px){
.about_seti_desc{
display:none;
}
.mobile_search_in_catalog{
display:none;
}
}
select.typeselect{background: 0;
border: 2px solid #61A036;
border-radius: 7px;
padding: 10px;
-webkit-appearance: none;
font-size: 18px;
/* line-height: 17px; */
font-family: "OpiumNewC" !important;
font-weight: 400 !important;
color: #171717;
margin-top: 10px;
margin-right: 7px;
line-height: 1.1vw;}
.head-actives .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets{
display:none;
}
На этом корзина на Vue.js на Битрикс завершена. Код не является идеальным. Лучше конечно использовать сборщик, собирать стили и скрипты, и подключать стили и скрипты в нужном месте. Здесь код больше представлен для ознакомления, в учебных целях, когда можно по простому создать корзину.

Комментарии находятся на модерации или не добавлены.
Для добавления комментариев необходимо зарегистрироваться и авторизоваться
Также возможно авторизоваться через Социальную сеть Вконтакте (VK)