:root {
  --icon-color: #333333;
  --font-color: #000000;
  --bg-color: #ffffff;
  --bg2-color: #f1f1f1;
  --btn-color: #f1f1f1;
  --brd-color: #eeeeee;
  --cbg-color: #d7d7d7;
  --list-selected-color: #eeeeee;
  --bg3-color: #fcfcfc;
  --bg4-color: #f1f1f1;
  --brd2-color: #333333;
  --bg-select-color: #f7f7f7;
  --filter-icon: none;
  --input-brd-color: #d4d4d4;
  --select-brd-color: #cccccc;
  --prl-bg-color: #f3f3f3;
  --draw-bg-color: #f3f3f3;
  --cbtn-color: #f4f4f4;
  --cbtn-brd:#d6d6d6;
	--cbtn-ref:#f7f7f7;
  --plpr-bg: #f2f9ff;
  --plpr-br:#bde3ff;
  --guide-link: #ffffff; 
  --scroll-thumb: #e1e1e1;
  --scroll-hover: #d2d2d2;
  --message-bg: #cef0f8;  
  --font-color2: #007bff;
  --font-color3: #9ca3af;
  --cmt-bg-color: #f0fdf4;
  --cmt-brd: transparent;
  --txta-bg: #ffffff;
  --txta-brd: #d1d5db;
  --txta-plh:  #cfcfcf;
  --btn-noactive:#cccccc;
  --font-color4: #007bff;
  --color-green: #14ae5c;
}



[data-theme="dark"] {
	--icon-color: #ffffff;
  --font-color: #ffffff;
  --bg-color: #696969;
  --bg2-color: #717171;
  --btn-color: #828282;
  --brd-color:#606060;
  --cbg-color:#828282;
	--list-selected-color:#828282;
	--bg3-color: #717171;
  --bg4-color: #717171;
  --brd2-color:#ababab;
	--bg-select-color:#717171;
	--filter-icon:brightness(0) invert(1);
	--input-brd-color:#606060;
	--select-brd-color:#606060;
	--prl-bg-color:#606060;
	--draw-bg-color:#888888;
	--cbtn-color:#5e5e5e;
	--cbtn-brd:#656565;
	--cbtn-ref:#656565;
  --plpr-bg: #555555;
  --plpr-br:#555555;
  --guide-link: #b3b3b3; 
  --scroll-thumb: #4f4f4f; 
  --scroll-hover: #434343; 
  --message-bg: #828282;
  --font-color2: #ffffff;
  --font-color3: #d6d6d6;
  --cmt-bg-color: #717171;
  --cmt-brd: #22c55e;
  --txta-bg: #555555;
  --txta-brd: #4a4a4a;
  --txta-plh:  #cfcfcf;
  --btn-noactive:#828282;
  --font-color4: #333333;
  --color-green: #d6d6d6;
}

::-webkit-scrollbar-track {
    background: var(--bg3-color); /* Цвет фона */
}

::-webkit-scrollbar-thumb {
    background: var(--scroll-thumb); /* Цвет ползунка */
}

::-webkit-scrollbar-thumb:hover {
    background: var(--scroll-hover); /* Цвет при наведении */
}

* {
  margin: 0;
  padding: 0;
  font-family: Geneva, Arial, Helvetica, sans-serif;
  color: var(--font-color);
  scrollbar-color: var(--scroll-thumb) var(--bg3-color); /* Цвет ползунка и трека */
}
html,
body {
  height: 100%;
  width: 100%;
  min-height: 480px;
  min-width: 320px;
  position: relative;
  overflow: hidden;
}



.priceplan {
    display: none;
    z-index: 9999;
    width: 100%;
    height: 100%;
    position: fixed;
    background: var(--bg-color);
    left: 50%;
    top: 0;
    text-align: center;
    overflow: hidden;
    transform: translateX(-50%);
    max-width: 1200px;
}

  .priceplan_overlay{
	position: fixed;
  background: #333333;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
	display:none;
	z-index:999;
  animation: ovrl 0.3s forwards;
  backdrop-filter: blur(5px);
  background: rgba(0, 0, 0, 0.6);
}
@keyframes ovrl {
    0% {opacity: 0;}
    100% {opacity: 1;}
}

.header_logo_link{
  display: block;
  font-size: 22px;
  text-decoration: none;
  font-weight: bold;
  color: #333333;
text-transform: uppercase;
}


.iframe{
  height: 100%;
  background: #ffffff;
  position:relative;  
  flex: 1 1 auto; 
  min-width: 0;      
}

.room_color_picker {
	opacity: 0;
	display: block;
  width: 100%;
  height: 100%;
	border: none;
  position: absolute;
  cursor:pointer;
}
.room_color_wrapper {
	display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.room_color_wrapper:before {
	display: inline-flex;
  content: '';
  background-image: url(/img/colorize.svg);
  background-size: 24px 24px;
  height: 24px;
  width: 24px;
  position: relative;
  background-repeat: no-repeat;
}


.lang_case{
    font-size: 13px;
    background: var(--guide-link);
    border-radius: 3px;
    display: flex;
    margin: 0 15px;
    box-sizing: border-box;
    margin-top: 10px;
    position: relative;
    height: 25px;
    width: 120px;
    margin-bottom: 5px;
    text-indent: 5px;
    align-items: center;
    cursor:pointer;
    white-space: nowrap;
    color: #333333;

}

.lang_window{
    z-index: 9999999; 
    display:none;   
    position: fixed;
    width: 100%;
    max-width: 680px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: var(--bg-color);
    border-radius: 6px;box-sizing: border-box;
}
.lang_title{
    font-size: 18px;
    padding: 0 15px;
    height: 50px;
    line-height: 50px;
}
.lang_case:before {
	display: inline-flex;
    content: '';
    background-image: url(/img/language.svg);
    background-size: 20px 20px;
    height: 20px;
    width: 20px;
    position: relative;
    left: 3px;
    background-repeat: no-repeat;
}

.lang{
    outline: 0;
    box-sizing: border-box;
    font-size: 15px;
    cursor: pointer;
    color: #333333;
    display: inline-block;
    height: 30px;
    text-align: center;
    text-decoration: none;
    border: 0;
    border-radius: 3px;
    background-color: transparent;
    position: absolute;
    width: 100%;
    box-sizing: border-box;
    padding-left: 20px;
}
.lang_btn{
    display: flex;
    border: 1px solid transparent;
    background: var(--bg-color);
    padding: 15px 10px;
    min-width: 150px;
    margin: 10px;
    border-radius: 6px;
    font-size: 14px;
    margin-left: 0;
    cursor: pointer;
    order:1;
}
.lang_select{
    border: 1px solid #0c90f0;
    order:0;
}
.lang_btn:hover{
    background: var(--bg-select-color);
}
.lang_overlay{
    position: fixed;
    background: #333333;
    width: 100%;
    height: 100%;
    top: 0;
	display:none;
	z-index:999999;
    animation: ovrl 0.3s forwards;
    backdrop-filter: blur(5px);
    background: rgba(0, 0, 0, 0.6);
}
.lang_btns{
    padding: 0 15px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    overflow: auto;
    height: 400px;
    align-content: flex-start;
}

.icon{
  display: inline-block;
  width: 24px;
  height: 24px;
  stroke-width: 0;
  stroke: var(--icon-color);
  fill: var(--icon-color);
  vertical-align: middle;
}

.canvas {
  position: relative;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  outline: none;
  z-index: 99;
}
.cursor_default{
  cursor: default !important;
}
.page {
  height: 100%;
  width: 100%;
  overflow: hidden;
  position: relative;
}
.header {
  height: 50px;
  border: 0;
  box-sizing: border-box;
  padding: 0;
  background: #28282a;
  position: relative;
}
.header_left {
  position:absolute;
  height: 100%;
  text-align: left;
  width:50%;
  top:0;
  font-size: 0;
  left: 0;
}
.header_right {
  position:absolute;
  height: 100%;
  width:50%;
  text-align: right;
  top:0;
  right: 0;
}
.header_center{
  position:absolute;
  left: 30%; 
  right: 30%;
  height: 100%;
  top:0;
  display: flex;
  justify-content: center;
}
.header_prod_name{
  display: flex;
  flex-direction: row;
  align-items: center;height: 50px;
  line-height: 50px;    
	justify-content: center;   
	width: 100%;

}
.project_name{
  background: var(--txta-bg);
  color: var(--font-color);
  padding: 5px;
  border: 0;
  outline: 0;
  border-radius: 4px;
  min-width: 300px;
  width: 100%;
  padding: 5px 15px;
  line-height: 20px;
}

/* Drag & Drop */


.dnd_ghost          { opacity: 0.35; pointer-events: none; }
.dnd_indicator {
    height: 0; /* убираем влияние на поток */
    position: relative;
}

.dnd_indicator::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -1px; /* регулируешь позицию линии */
    height: 2px;
    background: #0D99FF;
    border-radius: 2px;
    pointer-events: none;
}
.dnd_slot{border-top:0 !important; border-bottom: 0 !important;}

.var_window{
    position: absolute;
    top: 50px;
    height:400px;
    z-index: 9999;
    background: var(--bg-color);
    max-width: 600px;
    box-sizing: border-box;
    border-radius: 0 0 6px 6px;
    display: none;
    flex-direction: column;
    width: 100%;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.var_case{
  display: flex;
  flex-direction: column;
  width: 100%;
  overflow: auto;
  box-sizing: border-box;
}
.var_link{
  padding: 0 15px;
  line-height: 40px;
  border-bottom: 1px solid var(--brd-color);
  cursor: pointer;
  display: block;
  color:var(--font-color);
  text-decoration: none;
  color: var(--font-color);
  padding-right: 0;
  display: flex;
  align-items: center;
  gap: 10px;

}
.var_link:hover{
  background: var(--bg2-color);
  text-decoration: underline;
}
.var_link_check{
  background: var(--bg2-color);
}

.var_name {
    flex: 1;
    min-width: 0;          /* важно для работы ellipsis во flex */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.var_date {
    flex-shrink: 0;        /* не сжимается */
}


.var_add_case{
  border-bottom: 1px solid var(--brd-color);
  text-align: center;
  align-items: center;
  justify-content: space-between;
  padding: 0 15px;
  display: flex;
  height: 50px;
}
.var_add{
  background: #0D99FF;
  height: 30px;
  line-height: 30px;
  border-radius: 6px;
  color: #ffffff;
  border: 0;
  box-sizing: border-box;
  min-width: 50px;
  font-size: 14px;
  cursor: pointer;

  padding: 0 15px;
  line-height: 30px;
  position: relative;
}
.var_right_case{
  display: flex;
  align-items: center;
}
.var_delete{
    width: 50px;
   display: flex;
    height: 50px;
    align-items: center;
    justify-content: center;
}
.messageNoSave{
    z-index: 9999;
    position: absolute;
    width: 400px;
    left: 50%;
    top: 50%;
    padding: 15px;
    background: var(--bg-color);
    border-radius: 6px;
    text-align: center;
    font-size: 16px;
    transform: translateX(-50%) translateY(-50%);
}
.messageNoSave_title{
  color:#333333;
    color: var(--font-color);
    margin: 10px;
    line-height: 1.4;
    text-align: left;
}
.messageNoSave_btn{
  background: #0d99ff;
  color: #ffffff;
  border-radius: 6px;
  border: 0;
  padding: 10px 15px;
  font-size: 16px;
  cursor: pointer;
}
.overlayNoSave{
  
		position: absolute;
		background: #333333;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		z-index: 999;
		animation: ovrl 0.3s forwards;
		backdrop-filter: blur(5px);
		background: rgba(0, 0, 0, 0.6);
}
.window_share{
	z-index: 99999;
    display: none;
    max-width: 500px;
    text-align: center;
    position: absolute;
    top: 0px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    box-sizing: border-box;
    opacity: 0;
    padding-bottom: 25px;
    margin: 0px auto;
    background: var(--bg-color);
    animation: 0.5s ease 0s 1 normal forwards running ani;
    border-radius: 0px 0px 6px 6px;
}
.window_share_title{
	height: 40px;
    display: flex;
    align-items: center;
    padding: 0 15px;
    border-bottom: 1px solid var(--brd-color);
    box-sizing: border-box;
}
.window_share_message{
	background: var(--message-bg);
    margin: 15px;
    padding: 10px;
    border-radius: 6px;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
}
.window_share_case{
    display: flex;
    margin: 15px;
	flex-direction: column;
}
.window_share_input{
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 5px 0;
    border: 1px solid var(--select-brd-color);
    border-radius: 3px;
    box-sizing: border-box;
    width: 100%;
    font-size: 12px;
    outline: none;
    background: var(--txta-bg);
    text-indent: 5px;
    cursor: pointer;
    color: var(--font-color);
	margin-bottom:15px;
}
.window_share_btn{
	cursor: pointer;
    padding: 7px 5px;
    border: 0;
    border-radius: 6px;
    box-sizing: border-box;
    width: 100%;
    font-size: 12px;
	color: #ffffff;
    background: #0D99FF;
    height: 32px;
    outline: none;
}



.header_login_link{
	color: #ffffff;
    text-decoration: none;
    font-size: 18px;
    padding: 0 5px;
    font-weight: bold;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    padding: 5px 5px 4px 5px;
    background: #0d99ff;
    border-radius: 5px;
}
.header_button {
  border: 0;
  box-sizing: border-box;
  min-width: 50px;
  font-size: 14px;
  cursor: pointer;
  height: 100%;
  background: #28282a;
  color: #ffffff;
  float: right;
  padding: 0 15px;
  line-height: 50px;
  position: relative;
}
.header_button:hover {
  background: #000000;
}
.header_button span{
   pointer-events: none;
}
.header_hover {
  background: #000000;
}
.price_padding{
  padding-right: 25px;
  padding-left: 5px;
  min-width: 0;
}
.add_button_cart{
  border: 0;
  box-sizing: border-box;
  min-width: 50px;
  font-size: 14px;
  cursor: pointer;
  background: #0d99ff;
  line-height: 36px;
  height: 36px;
  margin: 7px;
  border-radius: 8px;
  color: #ffffff;
  display: inline-block;
  vertical-align: top;
  padding: 0 12px;
  float: right;
}
.add_button_cart span{
  color: #ffffff;
}
.header_logo {
    cursor: pointer;
    height: 100%;
    box-sizing: border-box;
	position: relative;
    display: inline-block;
	padding: 0 10px;
}
.header_logo:hover{
  background: #000000;
}
.opacity_50{
  opacity: 0.5;
}
.header_login{
	display: inline-block;
    height: 50px;
    vertical-align: top;
    line-height: 50px;
}
.logo_top{
  padding: 11px 0 25px 0 !important;
}

.header_logo a {
  display: block;
  padding: 18px 0;
  position: relative;
}
.logo{
  font-size: 18px;
  line-height: 1;
  height: 14px;
  color: #ffffff;
  font-weight: bold;
  text-transform: uppercase;
  text-decoration: none;
  max-width: 150px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.logo_city{
  position: absolute;
  bottom: 6px;
  font-size: 12px;
  color: #ffffff;
  left: 0;
  white-space: nowrap;
}
.header_link {
  display: block;
  color: #ffffff;
  padding: 0 15px;
  text-decoration: none;
  cursor: pointer;
}
.header_link:hover {
  background: #0d99ff;
}


.header_pro{
    color: #ffdd40;
    font-weight: bold;
    border: 1px solid #ffdd40;
    line-height: 30px;
    height: 30px;
    margin-top: 10px;
    border-radius: 6px;
    font-weight: bold;
    font-size: 14px;
    padding: 0 10px;
    transition: all 0.2s;
}
.header_pro:hover{
    background: #ffdd40;
    color: #000000;
} 

.image_icon:before {
  display: inline-flex;
  content: "";
  background-image: url(/img/image.svg);
  background-size: 20px 20px;
  height: 20px;
  width: 20px;
  position: relative;
  top: 5px;
  left: -3px;
  background-repeat: no-repeat;
}
.scheme_icon:before {
  display: inline-flex;
  content: "";
  background-image: url(/img/description.svg);
  background-size: 20px 20px;
  height: 20px;
  width: 20px;
  position: relative;
  top: 5px;
  left: -3px;
  background-repeat: no-repeat;
}
.save_icon:before {
  display: inline-flex;
  content: "";
  background-image: url(/img/cloud_save.svg);
  background-size: cover;
  height: 24px;
  width: 24px;
  position: absolute;
  top: 13px;
  left: 13px;
  background-repeat: no-repeat;
}

.save_loc_icon:before {
  display: inline-flex;
  content: "";
  background-image: url(/img/save.svg);
  background-size: cover;
  height: 24px;
  width: 24px;
  position: absolute;
  top: 13px;
  left: 13px;
  background-repeat: no-repeat;
}
.comment_icon:before {
  display: inline-flex;
  content: "";
  background-image: url(/img/comment.svg);
  background-size: cover;
  height: 22px;
  width: 22px;
  position: absolute;
  top: 15px;
  left: 13px;
  background-repeat: no-repeat;
}
.comment_icon span{
      position: absolute;
    color: #ffffff;
    top: 8px;
    font-size: 10px;
    left: 6px;
    display: none;
    border-radius: 6px;
    background: #0d99ff;
    align-items: center;
    justify-content: center;
    padding: 2px 4px;
    line-height: 10px;
}
.assembly_icon:before {
  display: inline-flex;
  content: "";
  background-image: url(/img/handyman.svg);
  background-size: cover;
  height: 20px;
  width: 20px;
  position: absolute;
  top: 15px;
  left: 15px;
  background-repeat: no-repeat;
}
.preview_icon:before {
  display: inline-flex;
  content: "";
  background-image: url(/img/eye_tracking.svg);
  background-size: cover;
  height: 22px;
  width: 22px;
  position: absolute;
  top: 15px;
  left: 13px;
  background-repeat: no-repeat;
}
.fullscreen_icon:before {
  display: inline-flex;
  content: "";
  background-image: url(/img/fullscreen.svg);
  background-size: cover;
  height: 20px;
  width: 20px;
  position: absolute;
  top: 15px;
  left: 15px;
  background-repeat: no-repeat;
}
.fullscreen_exit_icon:before {
  display: inline-flex;
  content: "";
  background-image: url(/img/fullscreen_exit.svg);
  background-size: cover;
  height: 20px;
  width: 20px;
  position: absolute;
  top: 15px;
  left: 15px;
  background-repeat: no-repeat;
}
.copy_icon:before {
  display: inline-flex;
  content: "";
  background-image: url(/img/copy_project.svg);
  background-size: cover;
  height: 24px;
  width: 24px;
  position: absolute;
  top: 13px;
  left: 13px;
  background-repeat: no-repeat;
}
.save_load_icon:before {
  display: inline-flex;
  content: "";
  background-image: url(/img/cloud_save_load.svg);
  background-size: cover;
  height: 24px;
  width: 24px;
  position: absolute;
  top: 13px;
  left: 13px;
  background-repeat: no-repeat;
}
.save_ok_icon:before {
  display: inline-flex;
  content: "";
  background-image: url(/img/cloud_save_ok.svg);
  background-size: cover;
  height: 24px;
  width: 24px;
  position: absolute;
  top: 13px;
  left: 13px;
  background-repeat: no-repeat;
}
.viewonly_icon:before{
  display: inline-flex;
  content: "";
  background-image: url(/img/lock.svg);
  background-size: 20px 20px;
  height: 20px;
  width: 20px;
  position: relative;
  top: 5px;
  left: -3px;
  background-repeat: no-repeat;
}

.reply_icon:before {
  display: inline-flex;
  content: "";
  background-image: url(/img/reply.svg);
  background-size: 20px 20px;
  height: 20px;
  width: 20px;
  position: relative;
  top: 5px;
  left: 0px;
  background-repeat: no-repeat;
}
.no_float{
  float: none;
  vertical-align: top;
}
.forward_icon:before {
  display: inline-flex;
  content: "";
  background-image: url(/img/forward.svg);
  background-size: 20px 20px;
  height: 20px;
  width: 20px;
  position: relative;
  top: 5px;
  left: 0px;
  background-repeat: no-repeat;
}
.menu_icon:before {
  display: inline-flex;
  content: "";
  background-image: url(/img/menu.svg);
  background-size: 20px 20px;
  height: 20px;
  width: 20px;
  position: relative;
  top: 6px;
  background-repeat: no-repeat;
}
/*.menu_icon:before {
  display: inline-flex;
  content: "";
  background-image: url(/img/FL.svg);
  background-size: 24px 24px;
  height: 24px;
  width: 24px;
  position: absolute;
  top: 13px;
  left: 14px;
  background-repeat: no-repeat;
}*/
/* .helper_content{
  border-top: 1px solid var(--brd-color);
} */


.guide_link{
  line-height: 20px;
  background: var(--guide-link);
  display: flex;
  padding: 5px;
  margin: 10px 15px 10px 15px;
  text-decoration: none;
  justify-content: center;
  align-items: center;
  border-radius: 6px;
  border: 1px solid #28282a;
  color: #28282a;
  font-size: 13px;
  transition: all .2s;
  font-weight: bold;
}

.soften{
  background: var(--bg2-color);
  border-color: var(--bg2-color);
}
.helper{
  display: none;
  position: absolute;
  margin-top: -12px;
  font-size: 12px;
  border-radius: 6px;
  color: #ffffff;
  padding: 5px;
  z-index: 99999;
  background: #333333;
}
.cart_icon:before {
  display: inline-flex;
  content: "";
  background-image: url(/img/cart.svg);
  background-size: 20px 20px;
  height: 20px;
  width: 20px;
  position: relative;
  top: 6px;
  left: 0px;
  background-repeat: no-repeat;
}
.header_cart_count{
	background: #FFB27A;
  position: absolute;
  line-height: 19px;
  top: 7px;
  width: 18px;
  border-radius: 50%;
  right: 5px;
  font-size: 12px;
  font-weight: bold;
  display: none;
  color: #333333;
  height: 18px;
  text-align: center;
}


.promo_title{
	font-size:18px;
}
.promo_case{
	margin-top:10px;
	margin-bottom:10px;
	overflow: hidden;
}
.promo_ul{
    font-size: 16px;
    color: #333333;
    line-height: 1.2;
    text-align: left;
    max-width: 700px;
    margin: 0 auto;
    list-style: none;
}
.promo_link_case{
	padding-left: 30px;
    position: relative;
    margin: 15px;
}
.promo_link{
	color:#0d99ff;
}
.promo_li{
    padding-left: 30px;
    position: relative;
    margin: 15px;
}
.promo_li:before{
    content: '';
    background-image: url(/img/done_green.svg);
    background-size: cover;
    height: 26px;
    width: 26px;
    position: absolute;
    top: -5px;
    left: 0;
    background-repeat: no-repeat;
}

.crown_logo{
	font-size:20px; 
	font-weight: bold; 
	position: relative;
	display: inline-block;
	margin-top:10px
}
.crown_logo:before{
	content: '';
    background-image: url(/img/crown.svg);
    background-size: cover;
    height: 22px;
    width: 22px;
    position: absolute;
    top: -1px;
    left: -28px;
    background-repeat: no-repeat;
}
.promo_price{
	font-size: 22px;
	
}
.promo_cross{
	font-size: 20px;
    position: relative;
    color: #a3a3a3;
}
.promo_cross:before{
	content: "";
    border-bottom: 2px solid red;
    position: absolute;
    width: 100%;
    height: 50%;
    transform: rotate(-16deg);
    top: 1px;
}


.check_cart{
  display: flex;
  align-items: center;
  animation: ani 1.5s forwards;
}
.check_icon{
  position: relative;
}
.check_icon:before {
  display: inline-flex;
  content: '';
  background-image: url(/img/check.svg);
  background-size: 25px 25px;
  height: 25px;
  width: 25px;
  background-repeat: no-repeat;
}

@keyframes ani {
  0% {opacity: 0;}
  100% {opacity: 1;}
}

.buy_case{
  display: inline-block;
  font-size: 0;
  height: 50px;
  min-width: max-content;
  box-sizing: border-box;
  color: #ffffff;
}
.buy_price_case{
  height: 50px;
  display: inline-flex;
  position: relative;
  flex-direction: column;
  align-items: flex-end;
  overflow: hidden;
  cursor: pointer;
  z-index: 99;
  padding: 0 5px;
}
.buy_price_case:hover{
  background: #000000;
}
.buy_price{
  font-size: 14px;
  font-weight: bold;
  height: 27px;
  display: flex;
  align-items: flex-end;
  grid-gap: 2px;
}
.buy_price_down{
  font-size: 12px;
  height: 23px;
  display: flex;
  align-items: flex-start;
  grid-gap: 2px;
}



.buy_button {
  border: 0;
  box-sizing: border-box;
  min-width: 50px;
  cursor: pointer;
  height: 100%;
  background: transparent;
  color: #333333;
  padding: 0 15px;
  line-height: 50px;
  position: relative;
  font-size: 16px;
  font-weight: bold;
  display: inline-block;
  vertical-align: top;
}

.public{
	position: absolute;
    width: calc( 100vh - 50px );
    height: calc( 100vh - 50px);
    border: 3px dashed #0d99ff;
    box-sizing: border-box;
	left:50%;
	top:0;
	margin-left:calc( -50vh + 25px );
	margin-top:0;
	opacity: 0.1;
}
.arrow:before {
  display: inline-flex;
  content: "";
  background-image: url(/img/arrow_down.svg);
  background-size: 100%;
  height: 9px;
  width: 9px;
  position: relative;
  top: 2px;
  left: -3px;
  background-repeat: no-repeat;
}

.arrow_black:after {
  display: inline-flex;
  content: "";
  background-image: url(/img/arrow_down_black.svg);
  background-size: 15px 15px;
  height: 15px;
  width: 15px;
  position: absolute;
  top: 18px;
  right: 0;
  background-repeat: no-repeat;
}
.user_icon:before {
  /*display: inline-flex;
    content: '';
    background-image: url(/img/person.svg);
    background-size: 20px 20px;
    height: 20px;
    width: 20px;
    position: relative;
    top: 5px;
    left: -3px;
    background-repeat: no-repeat;*/
}

.close_icon{
  display: flex;
  height: 20px;
  width: 20px;
  position: relative;
  align-items: center;
  justify-content: center;
}

.tools_canvas{
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 999;
  width: 34px;
}


.camera{
  width: 34px;
  height: 34px;
  vertical-align: middle;
  cursor: pointer;
  border: 1px solid #d6d6d6;
  background: #ffffff;
  border-radius: 50%;
  margin-bottom: 5px;
  display: none;
  box-shadow: rgba(0, 0, 0, 0.04) 0px 3px 5px;
}
.camera:before {
  display: inline-flex;
  content: "";
  background-image: url(/img/camera.svg);
  background-size: 22px 22px;
  height: 22px;
  width: 22px;
  position: relative;
  top: 2px;
  left: 0;
  background-repeat: no-repeat;
}
.camera_video{
  position: absolute;
  top: 0;
  left: 0;
  display: none;
  z-index: 1;
}

.lamp{
  width: 34px;
  height: 34px;
  vertical-align: middle;
  cursor: pointer;
  border: 1px solid var(--cbtn-brd);
  background: var(--cbtn-color);
  border-radius: 50%;
  margin-bottom: 5px;
  display: inline-block;
}
.lamp_active{
  background-color: var(--cbtn-color);
}
.lamp .icon{
  opacity: 0.4;
}
.lamp_active .icon{
  opacity: 1;
}
.lamp:hover {
  background: var(--bg-color);
}

.ruler_icon{
  width: 34px;
  height: 34px;
  vertical-align: middle;
  cursor: pointer;
  border: 1px solid var(--cbtn-brd);
  background: var(--cbtn-color);
  border-radius: 50%;
  margin-bottom: 5px;
  display: inline-block;
}
.ruler_icon_active{
  background-color: var(--cbtn-color);
}
.ruler_icon .icon{
  opacity: 0.4;
}
.ruler_icon_active .icon{
  opacity: 1;
}
.ruler_icon:hover {
  background: var(--bg-color);
}
.snap{
  width: 34px;
  height: 34px;
  vertical-align: middle;
  cursor: pointer;
  border: 1px solid var(--cbtn-brd);
  background: var(--cbtn-color);
  border-radius: 50%;
  margin-bottom: 5px;
  display: inline-block;
}
.snap_active{
  background-color: var(--cbtn-color);
}
.snap .icon{
   opacity: 0.4;
}
.snap_active .icon{
  opacity: 1;
}
.snap:hover {
  background: var(--bg-color);
}

.sidebar_tools{
  position: absolute;
  top: 0;
  left: 0;
  z-index: 999;
  height: 100%;
  width: 75px;
  display: flex;
  flex-direction: column;
  padding-left: 13px;
  box-sizing: border-box;
}
.sidebar_active{
        width: 100%;
    height: 34px;
    cursor: pointer;
    border: 1px solid transparent;
    background: var(--cbtn-color);
    display: flex;
    align-content: center;
    align-items: center;
    justify-content: center;
    z-index: 999;
    border-radius: 6px;
        margin-top: 15px;
        margin-bottom: 10px;
}
.sidebar_active:hover{
border-color: #0d99ff;
}
.sidebar {
    width: 38px;
    height: 38px;
    cursor: pointer;
    border: 0;
    background: transparent;
    display: flex;
    float: right;
    align-content: center;
    align-items: center;
    justify-content: center;
}
.sidebar_tools .setting{
  flex-direction: column !important;
  gap: 12px;
      width: 100%;
    padding: 0;
    box-sizing: border-box;
    margin: 0 !important;
}
.sidebar_tools .tab_content{
  top: 250px;
      padding: 0;
    box-sizing: border-box;
    padding-top: 0;
    width: 62px;
  left: 13px;
      scrollbar-width: thin;
    margin-top: 10px;
}
.sidebar_tools .setting_width_case{
  width: 100% !important;
}
.sidebar_tools .pick_view_name{
  display: none;
}
.sidebar_tools .pick_view{
    display: flex;
    justify-content: center;
    padding: 0;
}
.sidebar_tools .pick_view_case{
  margin: 0;
  width: 100%;
  border-radius: 6px;
    overflow: hidden;
    border: 0;

}
.sidebar_tools .pick_selected{
  padding: 0;
  border-radius:6px ;
  margin-bottom: 7px;
}
.sidebar_tools .setting_mount{
  border: 1px solid transparent;
  border-radius: 6px;
}
.sidebar_tools .setting_mount:hover{
  border-color: #0d99ff;
}
.sidebar_tools .label{
      margin: 0;
    padding:0;
    text-align: center;
     white-space: nowrap;         /* Запрет переноса строк */
  overflow: hidden;            /* Скрытие выходящего текста */
  text-overflow: ellipsis;
}
.sidebar_tools .setting_label{
      margin: 0;
}
/* .sidebar_tools .button{
     height: 40px;
} */
.sumbs{
  display: none;
    flex-direction: column;
    padding: 0 15px;
    margin-bottom: 15px;
        margin-top: -10px;
}
.sumbs_case{
  justify-content: space-between;
  display: flex;
}
.bres{
  color: var(--font-color);
  text-align: center;
  /* display: none; */
      width: 31%;
}
.b_size{
  padding: 5px;
  text-align: center;
  font-weight: bold;
  font-size: 13px;
}
.bor_size{
  font-size: 12px;
}

.transparency{
  width: 34px;
  height: 34px;
  vertical-align: middle;
  cursor: pointer;
  border: 1px solid var(--cbtn-brd);
  background: var(--cbtn-color);
  border-radius: 50%;
  margin-bottom: 5px;
  display: inline-block;

}
.transparency_active{
  background-color: var(--cbtn-color);
}
.transparency .icon{
  opacity: 0.4;
}
.transparency_active .icon{
  opacity: 1;
}
.transparency:hover {
  background: var(--bg-color);
}
.fixer{
  width: 34px;
  height: 34px;
  vertical-align: middle;
  cursor: pointer;
  border: 1px solid var(--cbtn-brd);
  background: var(--cbtn-color);
  border-radius: 50%;
  margin-bottom: 5px;
  display: inline-block;
}
.fixer_active{
  background-color: var(--cbtn-color);
}
.fixer .icon{
  opacity: 1;
}
.fixer_active .icon{
  opacity: 0.4;
}
.fixer:hover {
  background: var(--bg-color);
}
.xray {
  width: 34px;
  height: 34px;
  vertical-align: middle;
  cursor: pointer;
  border: 1px solid var(--cbtn-brd);
  background: var(--cbtn-color);
  border-radius: 50%;
  display: inline-block;
}
.xray_active{
  background-color: var(--cbtn-color);
}
.xray .icon{
  opacity: 0.4;
}
.xray_active .icon{
  opacity: 1;
}
.xray:hover {
  background: var(--bg-color);
}
.freeze {
  width: 34px;
  height: 34px;
  vertical-align: middle;
  cursor: pointer;
  border: 1px solid var(--cbtn-brd);
  background: var(--cbtn-color);
  border-radius: 50%;
  display: inline-block;
}
.freeze_active{
  background-color: #00deff;
}
.freeze .icon{
  opacity: 1;
}
.freeze_active .icon{
  opacity: 0.4;
}

.screenshot{
  width: 34px;
  height: 34px;
  vertical-align: middle;
  cursor: pointer;
  border: 1px solid #d6d6d6;
  background: #ffffff;
  border-radius: 50%;
  margin-bottom: 5px;
  display: inline-block;
}
.screenshot:before {
  display: inline-flex;
  content: "";
  background-image: url(/img/screenshot.svg);
  background-size: 22px 22px;
  height: 22px;
  width: 22px;
  position: relative;
  top: 2px;
  left: 0;
  background-repeat: no-repeat;
}



.contour{
  width: 34px;
  height: 34px;
  vertical-align: middle;
  cursor: pointer;
  border: 1px solid var(--cbtn-brd);
  background: var(--cbtn-color);
  border-radius: 50%;
  margin-bottom: 5px;
  display: inline-block;
}
.contour_active{
  background-color: var(--cbtn-color);
}
.contour .icon{
  opacity: 0.4;
}
.contour_active .icon{
  opacity: 1;
}
.contour:hover {
  background: var(--bg-color);
}

.cameraXYZ{
  width: 34px;
  height: 34px;
  cursor: pointer;
  border: 1px solid var(--cbtn-brd);
  background: var(--cbtn-color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
}
.cameraXYZ .icon{
  opacity: 0.5;
}
.cameraXYZ:hover{
  background: var(--bg-color);
}
.cameraXYZ:hover .icon{
  opacity: 1;
}
.cameraXYZ_active{
  background: var(--bg-color);
  opacity: 1;
  border-color: #0d99ff;
}
.cameraXYZ_active .icon{
  opacity: 1;
}

.orthographic_3d{
  display: inline-flex;
  content: "";
  background-image: url(/img/3d-orthographic.svg);
  background-size: 26px 26px;
  height: 26px;
  width: 26px;
  position: relative;
  top: 6px;
  left: 0;
  opacity: 0.4;
  background-repeat: no-repeat;

}
.perspective_3d{
  display: inline-flex;
  content: "";
  background-image: url(/img/3d-perspective.svg);
  background-size: 26px 26px;
  height: 26px;
  width: 26px;
  position: relative;
  top: 6px;
  left: 0;
  opacity: 0.4;
  background-repeat: no-repeat;

}

.thumbcanvas{
	height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px;
	position: relative;
}
.thumbcanvas_rect{
	height: 200px;
	width: 200px;
	position: absolute;
	border: 2px dashed #0187e9;
	box-sizing: border-box;
	z-index: -9;    
	background: #f7f7f7;
}
.thumbcanvas_icon{
	width: 20px;
	height: 20px;
	background-image: url(/img/drag_pan.svg);
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	bottom: 1px;
	right: 1px; 
	opacity: 0.7;
}
.thumbcanvas_text{
	font-size: 13px;
    position: absolute;
    bottom: 8px;
}


/* .ai_edit{
  width: 50px;
  height: 50px;
  display: flex;
  cursor: pointer;
  border: 0;
  background: #14ae5c;
  border-radius: 50px;
  position: absolute;
  bottom: 15px;
  right: 15px;
  margin-left:-70px;
  z-index: 999;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  overflow: hidden;
  color: #ffffff;
} */



.door_edit{
  width: 50px;
  height: 50px;
  display: flex;
  cursor: pointer;
  border: 1px solid var(--cbtn-brd);
  background: var(--cbtn-color);
  border-radius: 50px;
  position: absolute;
  top: 8px;
  left: 15px;
  z-index: 999;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  overflow: hidden;
  color: #ffffff;
  outline: none;
}

.door_edit:hover {
    background: var(--bg-color);
}
.door_edit .door_icon{
  opacity: 0.4;
}
.door_edit_active{
  background-color: var(--cbtn-color);
}
.door_edit_active .door_icon{
  opacity: 1.0;
}


/* .sketch_edit {
    height: 50px;
    display: flex;
    cursor: pointer;
    border: 1px solid var(--cbtn-brd);
    background: var(--cbtn-color);
    border-radius: 50px;
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 999;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    overflow: hidden;
    padding: 0 15px;
    white-space: nowrap; 
}
 */
.sketch_edit {
    height: 50px;
    display: flex;
    cursor: pointer;
    border: 1px solid var(--cbtn-brd);
    background: var(--cbtn-color);
    border-radius: 50px;
    position: relative;
    z-index: 999;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    overflow: hidden;
    padding: 0 15px; /* чтобы был отступ внутри */
    white-space: nowrap; /* не переносить текст */
}
.ai_edit{
  height: 50px;
    display: flex;
    cursor: pointer;
    border: 1px solid var(--cbtn-brd);
    background: var(--cbtn-color);
    border-radius: 50px;
    position: relative;
    z-index: 999;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    overflow: hidden;
    padding: 0 15px; /* чтобы был отступ внутри */
    white-space: nowrap; /* не переносить текст */
}

.comment_edit {
    height: 50px;
    display: flex;
    cursor: pointer;
    border: 1px solid #0c90f0;
    background: #0c90f0;
    color: #ffffff;
    border-radius: 50px;
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 999;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    overflow: hidden;
    padding: 0 15px; /* чтобы был отступ внутри */
    white-space: nowrap; /* не переносить текст */
}
.comment_window{
  position: absolute;
  bottom: 15px;
  height: 200px;
  z-index: 9999;
  background: #eeeeee78;
  box-sizing: border-box;
  border-radius: 6px;
  display: flex;
  flex-direction: column;
  width: 100%;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  transform: translateX(-50%);
  max-width: 600px;
  left:50%;
/*   -webkit-pointer-events: none; 
    pointer-events: none;        
    -webkit-user-select: none; 
    -ms-user-select: none;       
    user-select: none;   */
    overflow: hidden;
}
.comment_add{
  height: 50px;
  display: flex;
  cursor: pointer;
  border: 1px solid #0c90f0;
  background: #0c90f0;
  color: #ffffff;
  font-size: 16px;
  overflow: hidden;
  padding: 0 15px;
  align-items: center;
  justify-content: center;
}
.comment_window textarea{
  flex-grow: 1;
    background: #ffffff78;
    border: 0;
    outline: 0;
    margin: 0 15px 15px 15px;
    padding: 15px;
    font-size: 16px;
  pointer-events:visible;
  resize: none;
    -webkit-user-select: text; /* Важно для Safari, чтобы курсор работал */
    user-select: text;

}
.comment_title{
    line-height: 50px;
    padding: 0 15px;
    padding-bottom: 0;
    color: var(--font-color);
    float: left;
}

.window_ai_image{
		width: 100%;
		position: absolute;
		top: 60px;
		max-width: 800px;
		background: var(--bg-color);
		overflow: hidden;
		left: 50%;
		margin-left: -400px;
		box-sizing: border-box;
		border-radius: 10px;
		display: none;
		z-index: 99999;
		box-shadow: 0px 2px 14px rgba(0, 0, 0, 0.15), 0px 0px 0px 0.5px rgba(0, 0, 0, 0.2);
	}
	.ai_image_button{
		position: absolute;
		bottom: 0;
		background: #0d99ff;
		cursor:pointer;
		width: 100%;
		border: 0;
		text-align: center;
		padding: 10px;
		box-sizing: border-box;
    height: 50px;
    line-height: 50px;
	}
	.ai_image_overlay{
		position: fixed;
		background: #333333;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		display: none;
		z-index: 9999;
		animation: ovrl 0.3s forwards;
		backdrop-filter: blur(5px);
		background: rgba(0, 0, 0, 0.6);
	}
	.ai_image_img{
		height:600px;
	}
	.ai_image_magic{
		background: url(../img/magic-overlay.gif), #23068e99;
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 99999;
    display: none;
		opacity: 0.5;
		animation: fadeIn 1s ease-in-out forwards;
	}

  .ai_image_container{
    position: absolute;
    display: none;
    top:0;
    left:0;
    bottom: 50px;
    width: 100%;
		animation: fadeIn 1s ease-in-out forwards;
    align-items: center;
    justify-content: center;
  }
  .ai_image_container img {
      max-width: 100%;
      max-height: 100%;
      object-fit: contain; /* сохраняем пропорции, вписываем в контейнер */
  }

  .save_versions_case{
		color: #ffffff; 
	}
	
	.save_version_link{
		color: #ffffff;
		font-size: 12px;
		display: flex;
		padding-top: 4px;
		cursor:pointer;
		text-decoration: none;
	}
	.save_version_link:hover{
		text-decoration: underline;
	}
.door_icon {
  height: 28px;
  width: 28px;
  display: inline-block;
  stroke-width: 0;
  stroke: var(--icon-color);
  fill: var(--icon-color);
  vertical-align: middle;
  margin-right: 5px;
}

.ai_magic_icon {
  height: 25px;
  width: 25px;
  display: inline-block;
  stroke-width: 0;
  stroke: var(--icon-color);
  fill: var(--icon-color);
  vertical-align: middle;
  margin-right: 5px;
}

.shine:after {
  content: "";
  position: absolute;
  width: 100px;
  height: 100%;
  background-image: linear-gradient(
    120deg,
    rgba(142, 188, 229, 0) 30%,
    #0d9aff24 50%,
    rgba(142, 194, 229, 0) 70% 
  );
  top: 0;
  left: -100px;
  animation: shine 3s infinite;
}

@keyframes shine {
  0% {
    left: -100px; 
  }
  30% {
    left: 80%; 
  }
  100% {
    left: 100%;
  }
}







.ai_active{
  background: #eeeeee;
}

.quiz{
  width: 100%;
  position: absolute;
  top: 50px;
  max-width: 400px;
  background: #ffffff;
  overflow: hidden;
  left: 50%;
  margin-left: -200px;
  box-sizing: border-box;
  border-radius: 10px;
  display: none;
  padding: 25px;
  z-index: 999999;
  box-shadow: 0px 2px 14px rgba(0, 0, 0, 0.15), 0px 0px 0px 0.5px rgba(0, 0, 0, 0.2);
}
.quiz_case{
  margin-bottom: 15px;
}
.quiz_smiles{
  flex-wrap: nowrap;
  flex-direction: row;
  justify-content: space-between;
  display: flex;
}
.quiz_anser{
  display: flex;
  padding: 15px;
  border-radius: 6px;
  width: 30%;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border: 1px solid #ccc;
  box-sizing: border-box;
  background: #f1f1f1;
  outline: none;
  transition: all .2s;
  -webkit-user-select: none;
  -moz-user-select: none; 
  -ms-user-select: none; 
  user-select: none; 
}
.quiz_anser:hover{
  background: #f7f7f7;
  border-color: #0d99ff;
}
.quiz_textarea{
  width: 100%;
  box-sizing: border-box;
  padding: 10px;
  border: 1px solid var(--txta-brd);
  border-radius: 6px;
  min-height: 80px;
  font-size: 14px;
  resize: vertical;
  background: var(--txta-bg);
  color: var(--font-color);
}
.quiz_textarea::placeholder {
  color: var(--txta-plh);
}
.quiz_input{
   width: 100%;
  box-sizing: border-box;
  padding: 10px;
  border: 1px solid var(--txta-brd);
  border-radius: 6px;
  min-height: 80px;
  font-size: 14px;
  resize: vertical;
  background: var(--txta-bg);
  color: var(--font-color);
}
.quiz_button{
  border: 0;
  box-sizing: border-box;
  min-width: 120px;
  font-size: 16px;
  cursor: pointer;
  background: #eeeeee;
  line-height: 50px;
  height: 50px;
  border-radius: 8px;
  border: 1px solid #cccccc;
  color: #333333;
  display: inline-block;
  vertical-align: top;
  padding: 0 15px;
  width: 100%;
  position: relative;
  text-decoration: none;
  text-align: center;
  transition: all .2s;
}
.quiz_button:hover{
  border-color: #0d99ff;
  color: #000000;
}
.quiz_thanks{
  display: none;
}
.quiz_overlay{
  position: fixed;
  top:0;
  left:0;
  height: 100%;
  width: 100%;
  background: #000000;
  opacity: 0.7;
  z-index: 99999;
  display: none;
}
.quiz_title{
  font-size: 18px;
}
.quiz_stars {
  display: inline-flex;
  flex-direction: row-reverse;
}

.quiz_google{
  position: relative;
}
.quiz_google:after{
  content: "";
  display: inline-block;
  width: 66px;
  height: 24px;
  background-image: url(/img/google_logo.svg);
  background-size: contain; 
  margin-left: 7px;
  background-repeat: no-repeat;
  vertical-align: middle;
}

.quiz_yandex{
  position: relative;
}
.quiz_yandex::after{
  content: "";
  display: inline-block;
  width: 56px;
  height: 22px;
  background-image: url(/img/yandex_logo.svg);
  background-size: contain;
  margin-left: 7px;
  vertical-align: middle;
  background-repeat: no-repeat;
  margin-top: -10px;
}

.quiz_stars input {
  display: none;
}

.quiz_stars label {
  cursor: pointer;
  width: 45px;
  height: 50px;
  background-image: url(/img/stars.svg);
  background-size: 200%;
  background-position: 0 0;
  background-repeat: no-repeat;
  overflow: hidden;
}

.quiz_stars input:not(:checked) ~ label:hover,
.quiz_stars input:not(:checked) ~ label:hover ~ label {
  background-position: -45px 0 ; /* координаты заполненной звезды в спрайте */
}
.quiz_stars label.selected {
  background-position: -45px 0; /* Установка выбранных звезд */
}





.publication{
	z-index: 99999;
	display: none;
	max-width: 500px;
	margin: 0 auto;
	text-align: center;
	background: var(--bg-color);
	position: fixed;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	padding: 30px;
	width: 100%;
	box-sizing: border-box;
	animation: ani 0.5s forwards;
	opacity: 0;
	border-radius: 0 0 6px 6px;
}
.publication_title{
  padding-bottom: 15px;
  font-size: 16px;
  font-weight: 600;
}
.publication_text{
  text-align: left; 
  font-size: 14px;
}
.publication_input{
  border: 1px solid #cccccc;
  padding: 7px;
  outline: 0;
  border-radius: 3px;
  width: 100%;
  box-sizing: border-box;
  font-size: 14px;
  height: 33px;
  color: #333333;
}
.publication_select{
  border: 1px solid #cccccc;
  padding: 7px;
  outline: 0;
  border-radius: 3px;
  width: 100%;
  box-sizing: border-box;
  font-size: 14px;
  color: #333333;
}
.publication_select option{
  color: #333333;
}
.publication_textarea{
  border: 1px solid #cccccc;
  min-height: 60px;
  padding: 7px;
  outline: 0;
  border-radius: 3px;
  width: 100%;
  box-sizing: border-box;
  font-size: 14px;
  resize: vertical;
  color: #333333;
}
.publication_button{
  background: #0d99ff;
  padding: 15px 20px;
  overflow: hidden;
  display: inline-block;
  font-size: 16px;
  text-decoration: none;
  color: #ffffff;
  border-radius: 3px;
  width: 100%;
  max-width: fit-content;
  border: 0;
  transition: all .2s;
  cursor: pointer;
  position: relative;
  min-width: 220px;
}
.header_public{
  padding: 2px 5px;
  display: inline-block;
  border-radius: 0 0 3px  3px;
  background: #0D99FF;
  font-size: 10px;
  color: #ffffff;
  position: absolute;
  display: none;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  z-index: 9;
}

.header_private{
  background: #00b894;
  padding-left: 13px;
}
.header_private::before{
  content: "";
  background-image: url(/img/lock_white.svg);
  background-size: contain;
  height: 10px;
  width: 10px;
  background-repeat: no-repeat;
  position: absolute;
  left: 2px;
}
.header_crm{
  background: #9500b8;
  padding-left: 13px;
  display: block;
}
.header_crm::before{
  content: "";
  background-image: url(/img/lock_white.svg);
  background-size: contain;
  height: 10px;
  width: 10px;
  background-repeat: no-repeat;
  position: absolute;
  left: 2px;
}
.save_menu{
  width: 200px; 
  display:none;
  max-height: 500px;
  background: #28282a;
  position: absolute;
  top: 51px;
  left: 50px;
  z-index: 99999;
  padding: 10px 15px;
  font-size: 13px;
  padding-bottom: 20px;
}

.save_button{
  display: inline-block;
  background: #0D99FF;
  padding: 6px 15px;
  font-size: 14px;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  border-radius: 3px;
  border: 0; 
  cursor:pointer;
}

.save_disabled{
  background: #cccccc; 
  cursor: not-allowed;
}



.button_loading::after {
	content: "";
	position: absolute;
	width: 16px;
	height: 16px;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	border: 4px solid transparent;
	border-top-color: #ffffff;
	border-radius: 50%;
	animation: button-loading-spin 1s ease infinite;

}
.button_loading {
  transition: none !important;
  color: transparent !important;
}
@keyframes button-loading-spin {
    from {
        transform: rotate(0turn);
    }

    to {
        transform: rotate(1turn);
    }
}

.add_settings {
  width: 50px;
  height: 50px;
  vertical-align: middle;
  float: right;
  cursor: pointer;
  border: 1px solid #d6d6d6;
  background: #ffffff;
  border-radius: 50%;
  position: absolute;
  bottom: 15px;
  left: 15px;
  z-index: 999;
  box-shadow: rgba(0, 0, 0, 0.04) 0px 3px 5px;
  display: none;
}
.add_settings:before {
  display: inline-flex;
  content: "";
  background-image: url(/img/add.svg);
  background-size: 25px 25px;
  height: 25px;
  width: 25px;
  position: relative;
  top: 13px;
  left: 13px;
  background-repeat: no-repeat;
}

.edit_settings {
  width: 50px;
  height: 50px;
  vertical-align: middle;
  float: right;
  cursor: pointer;
  border: 1px solid #d6d6d6;
  background: #ffffff;
  border-radius: 50%;
  position: absolute;
  bottom: 15px;
  right: 15px;
  z-index: 999;
  box-shadow: rgba(0, 0, 0, 0.04) 0px 3px 5px;
  display: none;
}
.edit_settings:before {
  display: inline-flex;
  content: "";
  background-image: url(/img/edit.svg);
  background-size: 20px 20px;
  height: 20px;
  width: 20px;
  position: relative;
  top: 15px;
  left: 15px;
  background-repeat: no-repeat;
}
.project-name-edit {
	border: 0;
  min-width: 100px;
  font-size: 13px;
  cursor: pointer;
  color: #ffffff;
  background: transparent;
  outline: 0;
  text-align: center;
  line-height: 50px;
  text-overflow: ellipsis;
  height: 50px;
  padding: 0 10px;
  overflow: hidden;
  white-space: nowrap;
}
.prompt{
  border: 1px solid #b3b3b3;
  width: 14px;
  display: inline-block;
  border-radius: 50%;
  text-align: center;
  position: relative;
  margin-left: 5px;
  color: #b3b3b3;
}
.layout {
  overflow: hidden;
}
.tools_case {
  float: left;
  width: 260px;
  height: calc(100% - 50px);
  border-right: 1px solid var(--brd-color);
  box-sizing: border-box;
  position: relative;
  background: var(--bg-color);
  z-index: 99;
  -webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.tools {
  width: 100%;
  height: 100px;
  background: #def;
  cursor: pointer;
  position: relative;
}
.tools:hover {
  background: #eef;
}
.hr_line{
  border: none;
  height: 1px;
  background-color: var(--brd-color);
}
.canvas_case {
  margin: 0 260px 0 260px;
  height: calc(100% - 50px);
  overflow: hidden;
  position: relative;
  background-color: #dfdfdf;
      -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background: var(--cbg-color);
    border: 2px solid transparent;
    box-sizing: border-box;
}
.canvas_case_mode{
  height: calc(100% - 50px);
}
.page_loader_overlay{
  display: flex;
  width: 100%;
  height: 100%;
  opacity: 0.5;
  position: absolute;
  z-index: 999;
  background: #eee;
  top:0;
  left:0;
  align-items: center;
  justify-content: center;
}
.loader_overlay {
  display: none;
  width: 100%;
  height: 100%;
  opacity: 0.5;
  position: absolute;
  z-index: 999;
  background: var(--brd-color);
  top:0;
  left:0;
  align-items: center;
  justify-content: center;
}
.lds-ring {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
}
.lds-ring div {
  box-sizing: border-box;
  display: block;
  position: absolute;
  width: 64px;
  height: 64px;
  margin: 8px;
  border: 8px solid #333333;
  border-radius: 50%;
  animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  border-color: #333333 transparent transparent transparent;
}
.lds-ring div:nth-child(1) {
  animation-delay: -0.45s;
}
.lds-ring div:nth-child(2) {
  animation-delay: -0.3s;
}
.lds-ring div:nth-child(3) {
  animation-delay: -0.15s;
}
@keyframes lds-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.setting_conteiner {
  position: absolute;
  top: 0;
  bottom: 0px;
  width: 100%;
}
.settings_case {
  width: 260px;
  float: right;
  height: calc(100% - 50px);
  position: relative;
  border-left: 1px solid var(--brd-color);
  box-sizing: border-box;
  background: var(--bg-color);
  z-index: 99;
  -webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.setting {
  margin: 10px 15px;
  font-size: 12px;
}
.setting_label{
	position: relative; 
	margin-bottom: 5px;
    display: flex;
    justify-content: center;
	align-items: center;
	height: 18px;
}
.button {
  cursor: pointer;
  padding: 7px 5px;
  border: 0;
  border-radius: 6px;
  box-sizing: border-box;
  width: 100%;
  font-size: 12px;
  background: var(--btn-color);
  height: 32px;
  outline: none;
  position: relative;
}
.button_active {
  background: #0d99ff;
  color: #ffffff;
  border: 0;
}


.loader_white::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  border: 2px solid transparent;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  pointer-events: none;
  z-index: 1;
  left: 50%;
  margin-left: -12px;
  top: 50%;
  margin-top: -12px;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.label {
  margin-bottom: 5px;
  font-size: 12px;
  color: var(--font-color);
}
.label_title {
  font-size: 14px;
  margin-bottom: 5px;
}
.input {
  padding: 5px;
  border: 1px solid var(--input-brd-color);
  border-radius: 6px;
  box-sizing: border-box;
  background: var(--txta-bg);
  width: 100%;
  font-size: 12px;
  height: 30px;
  color: var(--font-color);
  outline: 0;
}
.input option{
  color: var(--font-color);
}
.input_flat {
  padding: 0;
  width: 100%;
  max-width: 35px;
  border: 0;
  text-align: right;
  outline: 0;
  font-size: 12px;
  border: 1px solid #333333;
  padding: 2px 5px;
}
/* Chrome, Edge, Safari */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type="number"] {
    -moz-appearance: textfield;
}
.tools_menu {
  font-size: 14px;
  width: 100%;
  overflow: hidden;
  display: flex;
  color: #333333;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
  position: relative;
  padding-top: 10px;
  padding-bottom: 10px;
  cursor: pointer;
}
.tools_options {
  /*display: none;*/
  overflow-y: scroll;
  height: 300px;
  display: none;
}
.tools_message {
  font-size: 13px;
  padding: 10px;
  color: #b3b3b3;
  text-align: center;
}

.toggle_tool{
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 15px;
}

.edit_tool{
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  display: block;
}
.mesh_title:hover .edit_tool{
  background: var(--bg-color);
}
.mesh_title.option_selected:hover .edit_tool {
    background: var(--list-selected-color);
}



.creation_window {
  display: none;
  z-index: 99999;
  width: 60vw;
  height: 100%;
  position: absolute;
  background: var(--bg-color);
  left: 50%;
  top: 0;
  text-align: center;
  overflow: hidden;
  transform: translateX(-50%);
}
.creation_window_close {
  width: 50px;
  height: 50px;
  vertical-align: middle;
  float: right;
  text-align: center;
  cursor: pointer;
}
.creation_window_close:hover{
  background: var(--bg-select-color);
}

.creation_case {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
  max-height: calc( 100vh - 50px);
  overflow-y: auto;
  padding: 15px;
}

.creation_card {
    overflow: hidden;
    border: 1px solid transparent;
    max-width: 220px;
    cursor: pointer;
    padding: 10px;
    box-sizing: border-box;
}

.creation_card:hover {
    border-color: #0c90f0;
}

.creation_card_image {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
}

.creation_card_text {
    padding: 5px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.5;
    color: #333;
    min-height: 3em;
}

@media (max-width: 768px) {
    .creation_case {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

}

@media (max-width: 480px) {

    .creation_case {
        gap: 10px;
    }
}




 .sample_block {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start;
      gap: 16px;
      padding: 30px;
      width: 100%;
      box-sizing: border-box;
      max-height: calc( 100vh - 50px);
      overflow-y: auto;
    }

    .sample_info {
      flex: 1 1 200px;
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .sample_info img {
      width: 80px;
      height: 80px;
      object-fit: cover;
      border-radius: 4px;
      border: 1px solid #e5e7eb;
    }

    .sample_name {
      font-size: 18px;
      font-weight: 600;
    }

    .sample_section {
      width: 100%;
      display: flex;
      flex-direction: column;
      gap: 8px;
      margin-top: 12px;
      text-align: left;
    }

    .sample_section_title {
      font-weight: 600;
      font-size: 15px;
      color: #374151;
    }

    .sample_section_content {
      display: flex;
      flex-wrap: wrap;
      gap: 15px;
      width: 100%;
    }

    .sample_field {
      display: flex;
      flex-direction: column;
      flex: 1 1 100px;
    }

    .sample_block label {
      font-size: 13px;
      color: #374151;
      margin-bottom: 4px;
    }

    .sample_block input, .sample_block select {
      border: 1px solid #d1d5db;
      border-radius: 4px;
      padding: 6px 8px;
      font-size: 14px;
    }

    .sample_actions {
      display: flex;
      justify-content: flex-end;
      gap: 8px;
      width: 100%;
      margin-top: 16px;
    }

    @media (max-width: 600px) {
      .sample_info {
        width: 100%;
        justify-content: flex-start;
      }
    }

.square::after{
  display: inline-flex;
  content: "";
  background-image: url(/img/square.svg);
  background-size: 5px 5px;
  height: 5px;
  width: 5px;
  position: relative;
  top: -2px;
  left: 5px;
  background-repeat: no-repeat;
}

.eye{
  width: 25px;
  display: inline-block;
  vertical-align: top;
  height: 100%;
}

.eye::after{
  display: none;
  content: "";
  background-image: url(/img/eye.svg);
  background-size: 15px 15px;
  height: 15px;
  width: 15px;
  position: relative;
  top: 3px;
  left: 3px;
  background-repeat: no-repeat;
  filter: var(--filter-icon);
}

.eye_close::after{
  background-image: url(/img/eye_close.svg);
  display: inline-flex;
}



.ruler{
  width: 25px;
  display: inline-block;
  vertical-align: top;
  height: 100%;
}
.ruler::after {
  display: none;
  content: "";
  background-image: url(/img/ruler.svg);
  background-size: 15px 15px;
  height: 15px;
  width: 15px;
  position: relative;
  top: 3px;
  left: 3px;
  background-repeat: no-repeat;
  filter: var(--filter-icon);
}

.ruler_disable::after{
  background-image: url(/img/ruler-disable.svg);
  display: inline-flex;
}


.lock{
  width: 25px;
  display: inline-block;
  vertical-align: top;
  height: 100%;
}

.lock::after{
  display: none;
  content: "";
  background-image: url(/img/lock_open.svg);
  background-size: 15px 15px;
  height: 15px;
  width: 15px;
  position: relative;
  top: 3px;
  left: 3px;
  background-repeat: no-repeat;
  filter: var(--filter-icon);
}

.lock_close::after{
  background-image: url(/img/lock_close.svg);
  display: inline-flex;
}
.edit_tool:has(.ruler_disable),
.edit_tool:has(.lock_close),
.edit_tool:has(.eye_close) {
    background: var(--bg-color);
}

.option_selected .edit_tool:has(.ruler_disable),
.option_selected .edit_tool:has(.lock_close),
.option_selected .edit_tool:has(.eye_close) {
    background: var(--list-selected-color);
}

.pencil{
  width: 25px;
  display: inline-block;
  vertical-align: top;
  height: 100%;
}


.pencil::after {
  display: none;
  content: "";
  background-image: url(/img/edit.svg);
  background-size: 15px 15px;
  height: 15px;
  width: 15px;
  position: relative;
  top: 3px;
  left: 3px;
  background-repeat: no-repeat;
  filter: var(--filter-icon);
}



.mesh_name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
  display: inline-block;
  box-sizing: border-box;
  padding-right: 10px;
   pointer-events: none;
}



.mesh_title:hover .lock:after{
  display: inline-flex;
}

.mesh_title:hover .ruler:after{
  display: inline-flex;
}

.mesh_title:hover .pencil:after{
  display: inline-flex;
}

.mesh_title:hover .eye:after{
  display: inline-flex;
}
.mesh_title .mesh_panel_size{
  margin-left:0;
}

.triangle_up::after {
  display: inline-flex;
  content: "";
  background-image: url(/img/arrow_drop_right.svg);
  background-size: 16px 16px;
  height: 16px;
  width: 16px;
  position: relative;
  top: 3px;
  left: 0;
  background-repeat: no-repeat;
}

.triangle_down::after {
  display: inline-flex;
  content: "";
  background-image: url(/img/arrow_drop_down.svg);
  background-size: 16px 16px;
  height: 16px;
  width: 16px;
  position: relative;
  top: 3px;
  left: 0;
  background-repeat: no-repeat;
}

.show {
  display: block !important;
}
.hide {
  display: none!important;
}


.option {
  cursor: pointer;
  position: relative;
  line-height: 1.55;
  font-size: 12px;
  font-family: "Open Sans", Arial, sans-serif;
  color: var(--font-color);
  font-weight: 400;
  padding: 5px 15px 5px 15px;
  border: 1px solid transparent;
  width: 100%;
  box-sizing: border-box;
}
.option:hover {
  border-color: #0d99ff;
}
.option_image_case {
  width: 50px;
  height: 50px;
  display: flex;
  float: left;
  margin-right: 10px;
  background: #f7f7f7;
}
.option_image {
  width: 100%;
  height: 100%;
  pointer-events: none;

}
.option_title {
  display: flex;
  font-size: 12px;
  vertical-align: top;
  height: 50px;
  align-items: center;
  text-align: left;
}
.option_selected {
  background-color: var(--list-selected-color);
}
.option_image_100{
	margin-right: 0;
	width: 100%;
	height: 100%;
}

.option_100{
	padding: 0;
	width: 50%;
	box-sizing: border-box;
}
.select {
  -webkit-appearance: none; 
  -moz-appearance: none;
  appearance: none;   
  padding: 5px 0;
  border: 1px solid var(--select-brd-color);
  border-radius: 6px;
  box-sizing: border-box;
  width: 100%;
  font-size: 12px;
  outline: none;
  background: var(--txta-bg);
  text-indent: 5px;
  cursor: pointer;
  color: var(--font-color);
}
.select option{
  color: var(--font-color);
}
.type_window{
  width: 300px;
  position: absolute;
  top: 100px;
  background: var(--bg-color);
  padding: 24px;
  left: 50%;
  margin-left: -150px;
  box-sizing: border-box;
  border-radius: 2px;
  display: none;
  z-index: 99999;
  box-shadow: 0px 2px 14px rgba(0, 0, 0, 0.15),
    0px 0px 0px 0.5px rgba(0, 0, 0, 0.2);
}
.size_window {
  width: 300px;
  position: absolute;
  top: 100px;
  background: var(--bg-color);
  padding: 24px;
  left: 50%;
  margin-left: -150px;
  box-sizing: border-box;
  border-radius: 2px;
  display: none;
  z-index: 99999;
  box-shadow: 0px 2px 14px rgba(0, 0, 0, 0.15),
    0px 0px 0px 0.5px rgba(0, 0, 0, 0.2);
}
.size_case {
  margin-bottom: 15px;
  margin-top: 10px;
  display: inline-block;
  width: 100%;
}
.size_skip{
  display: flex;
  align-items: center;
  justify-content: space-between;    
  font-size: 14px;
  margin-bottom: 5px;
}
.size_skip_btn{
  display: flex;
  font-size: 12px;
  background: var(--btn-color);
  height: 32px;
  width: 60px;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  cursor:pointer;
}

.sgns_window{
  position: absolute;
  z-index: 99999;
  max-width: 500px;
  top: 0;
  width: 100%;
  background: var(--bg-color);
  left: 50%;
  display: none;
  border-radius: 0 0 6px 6px;
  transform: translateX(-50%);
}
.sgns_header{
  height: 50px;
  position: relative;
  border-bottom: 1px solid var(--brd-color);
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
}

.sgns_menu_title{
  line-height: 50px;
  padding: 0 15px;
  color: var(--font-color);
  float: left;
  font-size: 13px;
  font-weight: 600;
}
.sgns_close{
  width: 50px;
  height: 50px;
  vertical-align: middle;
  float: right;
  text-align: center;
  cursor: pointer;
}
.sgns_close:hover {
  background: var(--bg-select-color);
}
.sgns_case{
  padding: 15px;
  font-size:14px;
  line-height: 1.3;
}
.sgns_row{
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.order_window, .download_window{
  width: 100%;
  position: absolute;
  top: 60px;
  max-width: 800px;
  background: var(--bg-color);
  overflow: hidden;
  left: 50%;
  transform: translateX(-50%);
  box-sizing: border-box;
  border-radius: 10px;
  display: none;
  z-index: 99999;
  box-shadow: 0px 2px 14px rgba(0, 0, 0, 0.15), 0px 0px 0px 0.5px rgba(0, 0, 0, 0.2);
}

.cart_order_left{
  display: flex;
  text-align: left;
  flex-direction: column;
  padding: 40px;
  max-width: 50%;
  box-sizing: border-box;
}
.cart_order_right{
  display: flex;
  overflow: hidden;
  flex-direction: column;
  align-items: center;
  padding: 15px;
  box-sizing: border-box;
  background: var(--bg2-color);
    border-radius: 6px;
  
  justify-content: center;
  box-sizing: border-box;
}
.cart_order_image_case{
  overflow: hidden;
  height: 370px;
  border-radius: 6px;
}
.cart_order_pricecase{
	position: absolute;
	top: 25px;
	left: 25px;
	font-size: 18px;
	font-weight: bold;
	background: #ffffff;
	border-radius: 6px;
	padding: 5px 10px;
}
.cart_order_image{
  width: 100%;
  position: relative;
  animation-name: page;
  animation-duration: 20s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}
@keyframes page {
  0%   {top:0px;}
  100% {top:-740px;}
}
.cart_order{
  display: flex;
  flex-wrap: nowrap;
}
.cart_order_title{
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
  margin-top: 0;
}
.cart_order_case{
  padding: 10px 0;
  display: flex;
  justify-content: flex-start;
}



.modal {
    width: 100%;
        min-height: 250px;
    background: #fff;
    border-radius: 12px;
    padding: 40px 36px 32px;
    text-align: center;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
        border: 1px solid #cccccc;
  }
.modal_order_info{
  display: none;
    max-width: 600px;
    z-index: 99999;
    margin: 0 auto;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
  .modal__close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 32px;
    height: 32px;
    border: none;
    background: transparent;
    color: var(--fg-muted);
    font-size: 30px;
    cursor: pointer;
    line-height: 1;
  }
  .modal__close:hover { color: var(--fg-primary); }

  .modal h1 {
    font-size: 24px;
    font-weight: 600;
    margin: 0 0 16px;
    letter-spacing: -0.02em;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .modal h1 .check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #14ae5c;
    color: #fff;
    vertical-align: -7px;
    margin-right: 10px;
  }
  .modal h1 .check svg {
    width: 16px;
    height: 16px;
  }

  .modal p {
    font-size: 16px;
    line-height: 1.55;
    color: var(--fg-secondary);
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .order-block {
    margin: 20px;
    padding: 16px;
    background: #f5f5f5;
    border-radius: 8px;
  }
  .order-block__label {
    font-size: 16px;
    color: var(--fg-muted);
    margin-bottom: 4px;
  }
  .order-block__num {
    font-family: 'JetBrains Mono', monospace;
    font-size: 24px;
    font-weight: 600;
    color: var(--fg-primary);
    letter-spacing: -0.01em;
  }

  .manager {
    font-size: 15px;
    line-height: 1.55;
    color: var(--fg-secondary);
    margin: 0;
  }
  .manager svg {
    width: 18px;
    height: 18px;
    color: var(--fg-primary);
    vertical-align: -4px;
    margin-right: 8px;
  }

  .modal .btn {
    margin-top: 10px;
  }


.card_order_send{
  text-align: center;
  width: 100%;
  padding: 20px;
  display: flex;
  height: 100%;
  align-items: center;
  justify-content: center;
}

.cart_order_input{
  color: #000;
  border: none;
  font-family: 'Open Sans',Arial,sans-serif;
  background-color: #fff;
  border: 1px solid #cccccc;
  font-size: 15px;
  font-weight: 400;
  height: 45px;
  display: inline-block;
  width: 100%;
  line-height: 1.33;
  padding: 0 10px;
  box-sizing: border-box;
  border-radius: 3px;
  outline: 0;
  max-width: 220px;
}
.cart_order_message{
  background: red;
  padding: 10px;
  display: none;
  border-radius: 3px;
  color: #ffffff;
}
.cart_message{
padding: 15px 0;
text-align:right;
line-height: 1.5;
}
.cart_list{
text-align: left;
  font-size: 16px;
  line-height: 1.5;
}
.cart_address{
  text-align: left;
  font-weight: bold;
  margin-top: 5px;
}
.cart_cityinfo_name{
  margin-bottom:0;
}
.cart_cityinfo_address{
  margin-bottom:10px;
  font-size: 14px;
}
.cart_scrap{
text-align: right;
  line-height: 1.5;
}
.cart_order_check{
font-size: 16px;
max-width: 300px;
cursor: pointer;
margin: 15px 0;
}
.order_check{
	cursor: pointer;
}
.cart_order_check label{
cursor: pointer;
}
.cart_order_button{
  background: #0d99ff;
  padding: 15px 20px;
  overflow: hidden;
  display: inline-block;
  font-size: 16px;
  text-decoration: none;
  color: #ffffff;
  border-radius: 3px;
  width:100%;
  /* max-width: fit-content; */
  border: 0;
  transition: all .2s;
  cursor: pointer;
  position: relative;
  min-width: 220px;
}
.order_disabled{
  background: var(--btn-noactive) !important;
  color: var(--font-color3) !important;
}





 .ord-modal {
   
      border-radius: 12px;
      max-width: 900px;
      width: 100%;
      position: relative;
          height: 100%;
      box-sizing: border-box;
  }
  
  .ord-modal-header {
      margin-bottom: 25px;
  }
  
  .ord-modal-title {
      font-size: 22px;
      font-weight: 600;
      color: #333;
      line-height: 1.3;
      margin-bottom: 15px;
  }
  
  .ord-modal-content {
      display: grid;
      grid-template-columns: 1.7fr 1fr;
      gap: 30px;
      align-items: start;
      height: calc( 100% - 50px);
      box-sizing: border-box;
      padding: 30px;
      padding-top: 15px;
      padding-bottom: 15px;
  }
  .ord-company-case{
    height: 100%;
    display: flex;
    flex-direction: column;
  }
  .ord-left-column {
      display: flex;
      flex-direction: column;
      gap: 20px;
      height: 100%;
  }
  
  .ord-right-column {
      display: flex;
      flex-direction: column;
      gap: 20px;
  }
  
  .ord-requirements {
         background: var(--bg3-color);
    border-left: 4px solid var(--font-color2);
    padding: 15px;
    border-radius: 4px;
    padding-bottom: 8px;
    margin-bottom: 15px;
  }
  
  .ord-requirements ul {
      list-style: none;
      margin: 0;
  }
  
  .ord-requirements li {
      margin-bottom: 8px;
      padding-left: 20px;
      position: relative;
      font-size: 14px;
  }
  
  .ord-requirements li::before {
      content: "•";
      color: var(--font-color2);
      font-weight: bold;
      position: absolute;
      left: 0;
  }

  .ord-company-recommendation {
      border: 1px solid var(--brd-color);
      overflow-y: auto;
      border-top: 0;
          position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
    box-sizing: border-box;
  }

  .ord-company-recommendation p{
    padding: 15px;
    text-align: center;
  }
  .ord-authorized-partner-icon{
    font-size: 12px;
    background: #dcfce7;
    padding: 4px 6px;
    display: inline-block;
    border-radius: 3px;
    color: #15803d;
    margin-bottom: 4px;
    position: relative;
    padding-left: 18px;
  }
  .ord-link{
    color: var(--brd2-color);
    text-decoration: none;

  }
  .ord-link:hover{
    color: #0187e9;
    text-decoration: underline;
  }

   .ord-authorized-partner-icon svg{
    position: absolute;
    left:4px;
    top:4px;
    width: 12px;
    height: 12px;
   }
  .ord-company-title {
     font-size: 18px;
    font-weight: 700;
    color: var(--font-color);
    margin-bottom: 15px;
    display: flex;
    align-items: center;
  }
  .ord-company-description{
    font-size: 14px;
    font-weight: 400;
    padding: 15px;
    border: 1px solid var(--brd-color);
    border-radius: 6px 6px 0 0;
    background: var(--bg3-color);

  }
  .ord-company-desc-title{
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 7px;
  }
   .ord-company-desc-text{
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    color:#4b5563;
  }

  .ord-check-company {
    padding: 15px 10px;
    width: 100%;
    box-sizing: border-box;
    border: 1px solid transparent;
    border-bottom: 1px solid var(--brd-color);
    opacity: 0.7;
    display: inline-flex;
    gap: 10px; 
    position: relative;
  }
  .ord-authorized-partner{
    opacity: 1;
  }
  .ord-check-company:has(input[type="radio"]:checked) {
        border-left: 5px solid #007bff;
      background: #eff6ff;
       opacity: 1;
  }
  .ord-select-company{
    border-bottom: 1px solid var(--brd-color);
        margin-bottom: 15px;
  }
  .ord-select-button{
        background: transparent;
    border: 0;
    border-bottom: 3px solid transparent;
    font-size: 16px;
    line-height: 40px;
    padding-left: 15px;
    padding-right: 15px;
    cursor: pointer;
    color: var(--font-color);
    font-weight: 500;
    margin-right: 15px;
  }
  .ord-select-button:hover{
    color: var(--font-color);
  }
  .ord-select-button-selected{
    color: var(--font-color2);
    border-bottom: 3px solid var(--font-color2);
  }

  .ord-company-name {
      font-weight: 600;
      color: var(--font-color);
      font-size: 16px;
      margin-bottom: 4px;
  }

  .ord-company-name span{
    position: relative;
    margin-left:3px;
  }
  .ord-company-name span:after{
    display: inline-block;
    content: '';
    background-image: url(/img/verification.svg);
    background-size: cover;
    height: 16px;
    width: 16px;
    top: -1px;
    background-repeat: no-repeat;
    position: absolute;
  }
  
  .ord-company-details {
      font-size: 14px;
      color: var(--font-color);
      line-height: 1.5;
  }
  
  .ord-company-contact {
      margin-top: 4px;
  }
  
  .ord-discount-badge {
      background: #ffc107;
    color: #000;
    padding: 5px 8px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    display: inline-block;
    margin-top: 4px;
    margin-right: 4px;
}
  
    .ord-check-company-radio {
      width: 16px;
      height: 16px;
      cursor: pointer;
      accent-color: #007bff;
    }

  .ord-warning-section {
      background: #fff3cd;
      border-radius: 6px;
      padding: 15px;
  }
  
  .ord-warning-title {
      font-weight: 600;
      color: #333333;
      margin-bottom: 8px;
  }
  
  .ord-warning-text {
      font-size: 14px;
      color: #333333;
      line-height: 1.4;
  }
  
  
  .ord-checkbox-wrapper {
      display: flex;
      align-items: flex-start;
      gap: 10px;
  }
  
  .ord-checkbox {
      margin-top: 3px;
      accent-color: #007bff;
  }
  
  .ord-agreement-text {
      font-size: 14px;
      color: var(--font-color);
      line-height: 1.4;
  }
  
  .ord-download-buttons {
      display: flex;
      flex-direction: column;
      gap: 12px;
  }
  
  .ord-btn {
      width: 100%;
      padding: 12px 24px;
      border: none;
      border-radius: 6px;
      font-size: 14px;
      font-weight: 600;
      cursor: pointer;
      transition: all 0.2s ease;
      text-decoration: none;
      text-align: center;
      display: inline-block;
      background: #0d99ff;
      color: #ffffff;
      position: relative;
      text-align: left;
  }

  .ord-btn-passive{
    padding: 12px 24px;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    text-align: center;
    display: inline-block;
    background: #ffffff;
    color: #333333;
    position: relative;
    text-align: left;
    border: 1px solid #b3b3b3;
  }
  .ord-disabled{
    opacity: 0.4;
  }

  .ord-btn svg, .ord-btn-passive svg{
    position: absolute;
    top: 7px;
    right: 10px;
  }

  .ord-tabs{
    display: none;
  }


  .ord-tabs-selected{
    display: block;
  }

  .ord-service{
    font-size: 12px;
    display: flex;
    align-items: center;
    gap: 10px;   
     color: #555555; 
  }
  .ord-service span::before {
    content: "•";  
    margin-right: 3px;    
  }


  .ord-close-btn {
      position: absolute;
      top: 15px;
      right: 20px;
      background: none;
      border: none;
      font-size: 24px;
      color: #999;
      cursor: pointer;
      width: 30px;
      height: 30px;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
      transition: all 0.2s ease;
  }
  
  .ord-close-btn:hover {
      background: #f5f5f5;
      color: #333;
  }

  .ord-agreement-link {
      color: var(--font-color2);
      text-decoration: none;
      position: relative;
  }
  
  .ord-agreement-link:hover {
      text-decoration: underline;
  }
  
  .ord-agreement-link::after {
      content: "🔗";
      font-size: 12px;
      margin-left: 4px;
      opacity: 0.7;
  }
  .ord-company-black{
    color: #333333 !important;
  }
  .ord-company-contact{
  font-size: 0;
  margin-bottom: 4px;
  width: 100%;
  color: var(--font-color2);
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
}
.ord-company-contact-link{
  font-size: 13px;
  text-decoration: none;

}
.ord-company-contact-link:hover{
    color: inherit;
}
 .ord-company-contact-link:hover{
  text-decoration: underline;
}

.user-city{
  text-decoration: underline;
    color: var(--font-color2);
    cursor: pointer;
}
.user-city span{
  color: var(--font-color2);
}


.auth_button_loading::after {
	content: "";
	position: absolute;
	width: 16px;
	height: 16px;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	border: 4px solid transparent;
	border-top-color: #ffffff;
	border-radius: 50%;
	animation: button-loading-spinner 1s ease infinite;
}
.auth_button_text{
    color: #ffffff;
}
.auth_button_loading .auth_button_text {
	visibility: hidden;
	opacity: 0;
}
@keyframes button-loading-spinner {
    from {
        transform: rotate(0turn);
    }

    to {
        transform: rotate(1turn);
    }
}

.overlay{
	position: absolute;
  background: #333333;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
	display:none;
	z-index:99999;
  animation: ovrl 0.3s forwards;
  backdrop-filter: blur(5px);
  background: rgba(0, 0, 0, 0.6);
}
@keyframes ovrl {
    0% {opacity: 0;}
    100% {opacity: 1;}
}
.menu_overlay {
  position: fixed;
  background: #333333;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0.6;
  display: none;
  z-index: 999;
}
.mesh_title {
  padding-left: 15px;
  font-size: 12px;
  width: 100%;
  cursor: pointer;
  box-sizing: border-box;
  border: 1px solid transparent;
  position: relative;
  min-width: 150px;
  line-height: 32px;
  height: 32px;
  -webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.mesh_selected {
  background: var(--list-selected-color);
  border-color: var(--list-selected-color);
}
.mesh_title:hover {
  border: 1px solid #0d99ff;
}
.hide_hover .mesh_title:hover {
  border: 1px solid transparent;
}
.mesh_case {
  margin-left: 10px;
  position: relative;
}
.pick_selected {
  position: relative;
  padding: 0 14px;
  margin-bottom: 0;
  border: 1px solid transparent;
}
.pick_selected:hover {
  border-color: #0d99ff;
}
.pick {
  cursor: pointer;
  position: relative;
  line-height: 1.55;
  font-size: 12px;
  font-family: "Open Sans", Arial, sans-serif;
  color: #000000;
  font-weight: 400;
  line-height: 60px;
  height: 60px;
  padding: 5px 15px 5px 15px;
  border: 1px solid transparent;
}
.pick:hover {
  border-color: #0d99ff;
}
.pick_preview{
  padding: 10px 0 10px 0;
  background: var(--bg2-color);
  border-bottom: 1px solid var(--brd-color);
  box-sizing: border-box;
}
.pick_preview .pick{
  border: 0;
}
.pick_view {
  cursor: pointer;
  position: relative;
  line-height: 1.55;
  font-size: 12px;
  font-family: "Open Sans", Arial, sans-serif;
  color: #000000;
  font-weight: 400;
  padding: 5px 0px 5px 0px;
  border: 1px solid transparent;
}
.pick_view_case {
   width: 40px;
  height: 40px;
  display: flex;
  float: left;
  margin-right: 10px;
  border: 1px solid var(--brd-color);
}
.pick_view_name {
  display: flex;
  font-size: 10px;
  vertical-align: top;
   height: 40px;
  align-items: center;
  text-align: left;
   line-height: 1.4;
}
.pick_view_image {
  width: 100%;
  height: 100%;
}
.pick_image_case {
	width: 60px;
  height: 60px;
  position: absolute;
  margin-right: 10px;
   border: 1px solid var(--brd-color);
  box-sizing: border-box;
}
.pick_image {
  width: 100%;
  height: 100%;
}
.pick_name {
  position: absolute;
 font-size: 12px;
  height: 60px;
  text-align: left;
  margin-right: 10px;
   left:85px;
  right: 75px;
}
.pick_price {
 font-size: 11px;
  height: 50px;
  text-align: center;
  position: absolute;
  width: 60px;
  right: 15px;
  line-height: 1.4;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pick_label {
  padding: 10px 15px 0 15px;
  margin-bottom: 2px;
}
.pick_input{
  padding: 0;
  width: 100%;
  border: 0;
  text-align: right;
  outline: 0;
  font-size: 12px;
  border: 1px solid #cccccc;
  border-radius: 3px;
  padding: 5px 0;
  text-align: center;
}
.tipday{
	font-size: 13px; 
	padding: 10px 15px;
	line-height: 1.3; 
	background:#f2f9ff;
}
.tab_menu {
  font-size: 0;
  width: 100%;
  border-bottom: 1px solid var(--brd-color);
  box-sizing: border-box;
}
.tab_title {
  display: inline-block;
  font-size: 12px;
  text-align: center;
  color: #b9b9b9;
  cursor: pointer;
  padding: 12px 15px;
  box-sizing: border-box;
}
.tab_title:hover {
  color: var(--font-color);
}
.tab_select {
  color: var(--font-color);
}
.tab_content {
  position: absolute;
  width: 100%;
  bottom: 0;
  top: 39px;
  overflow-y: auto;
  overflow-x: hidden;
}
.tab_section {
  position: absolute;
  width: 100%;
  bottom: 0;
  top: 35px;
  overflow-y: auto;
  
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  padding: 0 15px;
  box-sizing: border-box;
	
}
.no_scroll {
  overflow: none !important;
}
.menu_case {
  height: 100%;
  position: relative;
  font-size: 14px;
  float: left;
}
.menu {
  width: 170px;
  max-height: 500px;
  background: #28282a;
  position: absolute;
  top: 51px;
  left: 15px;
  z-index: 99999;
  padding: 10px 0;
  font-size: 13px;
  display: none;
}
.menu_list {
  line-height: 30px;
  height: 30px;
}
.menu_link {
  display: block;
  color: #ffffff;
  padding: 0 15px;
  text-decoration: none;
  cursor: pointer;
}
.menu_list:hover {
  background: #0d99ff;
}
.section {
  padding: 10px;
  text-align: center;
  border-bottom: 1px solid var(--brd-color);
  cursor: pointer;
}
.section_title {
  font-size: 12px;
}
.section_list{
  border-top: 1px solid var(--brd-color);
}

.charpter {
  font-size: 0;
  text-align: left;
  border-bottom: 1px solid var(--brd-color);
}
.charpter_title {
  font-size: 12px;
  display: inline-block;
  line-height: 34px;
  box-sizing: border-box;
  height: 34px;
}
.charpter_close {
  cursor: pointer;
  display: inline-flex;
  width: 50px;
  text-align: center;
  height: 34px;
  vertical-align: top;
  align-items: center;
  justify-content: center;
}
.charpter_close_icon{
  height: 20px;
  width: 20px;
  fill: var(--font-color);
}
/*
.charpter_close:before {
  display: inline-flex;
  content: "";
  background-image: url(/img/arrow_back.svg);
  background-size: 20px 20px;
  height: 20px;
  width: 20px;
  position: relative;
  top: 7px;
  left: -3px;
  background-repeat: no-repeat;
}*/
.window_title {
  width: 100%;
  text-align: left;
  padding-bottom: 0;
  box-sizing: border-box;
  overflow: hidden;
  font-size: 12px;
  padding-top: 2px;
  font-weight: 600;
}
.window_link {
  color: #ffffff;
  width: 100%;
  text-align: left;
  padding: 10px;
  padding-bottom: 0;
  box-sizing: border-box;
  overflow: hidden;
}
.window_button {
  background: transparent;
  border: 1px solid #ffffff;
  padding: 10px;
  color: #ffffff;
  border-radius: 999px;
  width: 100%;
  cursor: pointer;
}
.window_right {
  float: right;
}
.window_row {
  width: 100%;
  text-align: left;
  padding-right: 0;
  padding-bottom: 0;
  box-sizing: border-box;
  overflow: hidden;
  padding-left: 10px;
  line-height: 17px;
  padding-top: 5px;
  font-size: 12px;
}
.window_list {
  max-height: 400px;
}
.price_input{
  max-width: 60px;
  outline: none;
  border: 1px solid #cccccc;
  padding: 2px;
  border-radius: 3px;
  font-size: 12px;
}
.overflowY {
  overflow-y: scroll;
}
.external_link{
	width: 12px;
    height: 12px;
    background-image: url(/img/external-link.svg);
    background-size: cover;
    display: inline-block;
    vertical-align: middle;
	opacity:0.7;
}
.external_link:hover{
	opacity:1;
}
.plate {
  overflow-y: scroll;
  position: absolute;
  top: 185px;
  bottom: 70px;
  width: 100%;
}
.window_plate {
  padding: 5px 15px;
  max-width: 450px;
  overflow: hidden;
}
.message_no_edit {
  display: none;
  position: absolute;
  z-index: 9999;
  background: #fff888;
  width: 100%;
  left: 0;
  text-align: center;
  padding: 5px;
  box-sizing: border-box;
  line-height: 1.26;
  bottom: 50px;
}
.color_picker_case{
  display: flex;
  align-items: flex-start;
  font-size: 12px;
  padding: 5px 15px 10px 15px;
  box-sizing: border-box;
}
.color_picker{
  width: 50px;
  height: 50px;
  border: 1px solid #cccccc;
  cursor: pointer;
  margin-right: 10px;
}
.materials_window {
  position: absolute;
  z-index: 99999;
  max-width: 600px;
  top: 0;
  width: 100%;
  background: var(--bg-color);
  left: 50%;
  display: none;
  border-radius: 0 0 6px 6px;
  transform: translateX(-50%);
}
.materials_window_title {
  line-height: 50px;
  padding: 0 15px;
  color: var(--font-color);
  float: left;
  font-size: 13px;
  font-weight: 600;
}
.materials_window_header {
  height: 50px;
  position: relative;
  border-bottom: 1px solid var(--brd-color);
  box-sizing: border-box;
}
.materials_window_close {
  width: 50px;
  height: 50px;
  vertical-align: middle;
  float: right;
  text-align: center;
  cursor: pointer;
}
.materials_window_close:hover {
  background: var(--bg-select-color);
}
.materials_window_case {
  overflow-y: auto;
  width: 100%;
  max-height: 350px;
  height: 100%;
}
.material_section{
  display: none;
}
.materials_window_filter {
padding: 15px;
  padding-bottom: 0;
}
.materials_filter{
   padding: 10px 15px;
  font-size: 0;
   border-bottom: 1px solid var(--brd-color);
}
.materials_filter_button{
  display: inline-block;
  font-size: 13px;
  margin-right: 15px;
  cursor: pointer;
  color:#b9b9b9;
}
.materials_filter_button:hover{
  color: var(--font-color);
}
.materials_filter_select{
  color: var(--font-color);
}
.material_filter_btn_case{
  padding: 10px 15px;
  text-align:center; 
  border-top: 1px solid var(--brd-color);
}
.cut_window_title {
  line-height: 50px;
  padding: 0 15px;
  color: var(--font-color);
  float: left;
  font-size: 13px;
  font-weight: 600;
}
.cut_window_header {
  height: 50px;
  position: relative;
  border-bottom: 1px solid var(--brd-color);
  box-sizing: border-box;
}
.cut_window_close {
  width: 50px;
  height: 50px;
  vertical-align: middle;
  float: right;
  text-align: center;
  cursor: pointer;
}
.cut_window_close:hover{
  background: var(--bg-select-color);
}
.cutting_case {
  position: relative;
  margin-bottom: 60px;
  height: 100%;
}
.cutting_window {
  display: none;
  z-index: 99999;
  width: 60vw;
  height: 100%;
  position: absolute;
  background: var(--bg-color);
  left: 50%;
  top: 0;
  text-align: center;
  overflow: hidden;
  transform: translateX(-50%);
}
.cutting_tools {
  position: fixed;
  bottom: 0;
  height: 70px;
  display: flex;
  width: 60vw;
  background: #28282a;
  left: 50%;
  padding: 0 15px;
  box-sizing: border-box;
  flex-direction: column;
  transform: translateX(-50%);
}

.plateCanvas {
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iNHB4IiBoZWlnaHQ9IjRweCIgdmlld0JveD0iMCAwIDQgNCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNCA0IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0FCQUJBQiIgc3Ryb2tlLXdpZHRoPSIwLjUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgeDE9IjAiIHkxPSIwIiB4Mj0iNCIgeTI9IjQiLz4NCjwvc3ZnPg0K);
  background-repeat: repeat;
  background-position: 0 0;
  background-size: 8px 8px;
  margin-bottom: 30px;
  border: 1px solid var(--brd2-color);
  cursor: pointer;
}
.cutting_message{
  display: flex;
  width: 100%;
  color: #ffffff;
  font-size: 14px;
  line-height: 1.6;
  align-items: center;
  justify-content: center;
}
.cutting_rotate{
  font-size: 13px;
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  height: 50px;
  background: var(--bg2-color);
}
.cutting_row{
  display: flex;
  flex-direction: row;
  height: 100%;
  align-items: center;
  flex-grow: 1;
}
.cutting_left {
	color: #ffffff;
	font-size: 14px;
	box-sizing: border-box;
	width: 50%;
  text-align: left;
}
.cutting_left span{
	color: #ffffff;
}
.cutting_right {
  color: #ffffff;
  font-size: 14px;
  box-sizing: border-box;
  width: 50%;
  text-align: right;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.cutting_button {
  padding: 10px 15px;
  background: #ffffff;
  border-radius: 3px;
  border: 0;
  height: 40px;
  font-size: 16px;
  cursor: pointer;
}

.checkbox {
  padding: 5px 0;
}
.checkbox input {
  vertical-align: middle;
  display: inline-block;
  cursor: pointer;
  float: right;
  opacity: 0.4;
}
.label {
  vertical-align: middle;
  display: inline-block;
  margin-right: 5px;
  cursor: pointer;
  width: 100%;
}
.pin {
  vertical-align: middle;
  float: right;
  opacity: 0.4;
  display: none;
}

.pin_label {
  cursor: pointer;
  width: 18px;
  height: 18px;
  float: right;
  vertical-align: middle;
  background-size: 18px 18px;
  background-repeat: no-repeat;
  background-position: center;
}

.pin_label {
  background-image: url('/img/lock_close_blue.svg');
}

.pin:checked + .pin_label {
  background-image: url('/img/lock_open.svg');
  filter: var(--filter-icon);
}


.measure_select{
  outline:0; 
  border:1px solid var(--brd-color); 
  font-size:12px; 
  border-radius:3px;
  cursor:pointer;
  height:20px;
  background: var(--btn-color);
}
.helplink{
  display: inline-block;
  font-size: 10px;
  text-align: center;
  color: #b9b9b9;
  cursor: pointer;
  margin-top: 10px;
  box-sizing: border-box;
  text-decoration: none;
}
.helplink:hover{
  color: #333333;
  text-decoration: underline;
}

.setting_toggle{
  border-top: 1px solid var(--brd-color);
  padding: 10px 15px;
  margin: 0;
  font-size: 12px;
  color: var(--font-color); 
  position: relative;
  cursor:pointer
}
.setting_toggle:after {
  display: inline-flex;
  content: "";
  background-image: url(/img/arrow_down_black.svg);
  background-size: 100%;
  height: 18px;
  width: 18px;
  position: relative;
  top: 8px;
  background-repeat: no-repeat;
  position: absolute;
  right: 11px;
  opacity: 0.5;
  filter: var(--filter-icon);
}
.setting_toggle.check_toggle:after {
  transform: rotate(180deg);
}

.mattxt_case{
    cursor: pointer;
    position: relative;
    line-height: 1.55;
    font-size: 12px;
    font-family: "Open Sans", Arial, sans-serif;
    color: #000000;
    font-weight: 400;
    line-height: 50px;
    height: 50px;
    padding: 5px 15px 5px 15px;
    border: 1px solid #ffffff;
  }
  .mattxt_image_case{
    width: 50px;
    height: 50px;
    position: absolute;
    margin-right: 10px;
    border: 1px solid #eeeeee;
    box-sizing: border-box;
  }
  .mattxt_image{
    width: 100%;
    height: 100%;
    filter: brightness(0.6) contrast(4.8);
  }
  .mattxt_name{
    position: absolute;
    font-size: 11px;
    height: 50px;
    text-align: left;
    margin-right: 10px;
    left: 75px;
    right: 75px;
  }
  .mattxt_price{
    font-size: 11px;
    height: 50px;
    text-align: center;
    position: absolute;
    width: 60px;
    right: 15px;
    line-height: 1.4;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .mattxt_selected{
    border-color: #0d99ff;
    background: #f2f9ff;
  }
  .mattxt_case:hover {
    border-color: #0d99ff;
  }

.auth {
	z-index: 999999;
	display:none;
    max-width: 400px;
    margin: 0 auto;
    text-align: center;
    background: var(--bg-color);
    position: fixed;
    top: 60px;
    left: 50%;
    margin-left: -200px;
    padding: 30px 40px 40px 40px;
    box-sizing: border-box;
    animation: ani 0.5s forwards;
    opacity: 0;
    border-radius:3px;
}
.show{
    display: block !important;
}
@keyframes ani {
    0% {opacity: 0;}
    100% {opacity: 1;}
}
.auth_title {
    color: var(--font-color);
    font-size: 22px;
    font-family: Geneva, Arial, Helvetica, sans-serif;
    line-height: 1.35;
    font-weight: 500;
    background-position: center center;
    margin-top: 10px;
}
.auth_welcome{
    color: var(--font-color);
    font-size: 26px;
    font-family: Geneva, Arial, Helvetica, sans-serif;
    line-height: 1.35;
    font-weight: 500;
    background-position: center center;
    margin-bottom: 20px;
 
}
.auth_label {
    color: var(--font-color);
    font-size: 16px;
    margin-top: 15px;
    margin-bottom: 0;
    text-align: left;
    line-height: 1.55;
    font-weight: 300;
    font-family: Geneva, Arial, Helvetica, sans-serif;
}
.auth_input {
    color: #333333;
    border: 1px solid #0D99FF;
    font-family: Geneva, Arial, Helvetica, sans-serif;
    background-color: #fff;
    font-size: 16px;
    font-weight: 400;
    height: 45px;
    display: inline-block;
    width: 100%;
    line-height: 1.33;
    padding: 0 20px;
    box-sizing: border-box;
    border-radius:3px;
    outline: 0;
}
.auth_message {
    font-size: 16px;
    line-height: 1.55;
    font-family: Geneva, Arial, Helvetica, sans-serif;
    font-weight: 300;
    color: red;
    text-align: center;
    margin-top: 10px;
}
.auth_button {
    margin-top: 20px;
    width: 100%;
    color: #fff;
    background-color: #0D99FF;
    font-weight: 600;
    font-size: 18px;
    border-radius:3px;
    height: 50px;
    padding: 0 15px;
    font-family: Geneva, Arial, Helvetica, sans-serif;
    text-align: center;
    border: 0 none;
    white-space: nowrap;
    background-image: none;
    cursor: pointer;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    outline: none;
	width:100%;
	position: relative;
	transition: all 0.2s;
}
.auth_button_loading::after {
	content: "";
	position: absolute;
	width: 16px;
	height: 16px;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	border: 4px solid transparent;
	border-top-color: #ffffff;
	border-radius: 50%;
	animation: button-loading-spinner 1s ease infinite;
}
.auth_button_loading .auth_button_text {
	visibility: hidden;
	opacity: 0;
}
@keyframes button-loading-spinner {
    from {
        transform: rotate(0turn);
    }

    to {
        transform: rotate(1turn);
    }
}
.auth_link {
    color: #0D99FF;
    font-size: 16px;
    line-height: 1.55;
    font-weight: 300;
    font-family: Geneva, Arial, Helvetica, sans-serif;
	cursor:pointer;
}
.auth_login, .auth_sign{
	display:none;
	min-width:320px;
}
.auth_menu{
	display: inline-block;
    font-size: 0;
}
.auth_line{
    border-top: 2px solid #eeeeee;
    margin-bottom: 20px;
    margin-top: 20px;
}
.auth_google{
    border: 1px solid #0D99FF;
    width: 100%;
    display: inline-block;
    height: 50px;
    line-height: 50px;
    color: #0D99FF;
    text-decoration: none;
    border-radius: 3px;
    position: relative;
}
.auth_google::before{
    display: inline-flex;
    content: '';
    background-image: url(/img/google.svg);
    background-size: cover;
    height: 30px;
    width: 30px;
    position: relative;
    top: 0px;
    left: -5px;
    background-repeat: no-repeat;
}


.indents{
  display: inline-flex;
  height: auto;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  aspect-ratio: 1 / 1;
  fill: var(--font-color);
}
.fasteners{
  display: inline-flex;
  height: auto;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  aspect-ratio: 1 / 1;
  fill: var(--font-color);
}
.edge{
  display: inline-flex;
  height: auto;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  aspect-ratio: 1 / 1;
  fill: var(--font-color);
}
.border_case {
  text-align: center;
  position: relative;
  height: 150px;
  line-height: 150px;
  font-size: 0;
}
.border_rect {
  position: relative;
  width: 30%;
  display: inline-block;
  vertical-align: middle;
}
.border_rect::after{
  content: "";
  padding-top: 100%;
  display: block;
}

.border_button_top {
  top: -16.66%;
  left: 0;
  margin-top: -29px;
}
.border_button_bottom {
  bottom: -16.66%;
  left: 0;
  margin-bottom: -30px;
}
.border_button_left {
  left: -116.66%;
  top: 50%;
  margin-top: -15px;
}
.border_button_right {
  left: 116.66%;
  top: 50%;
  margin-top: -15px;
}
.border_button_front {
  left: -116.66%;
  bottom: -16.66%;
  margin-bottom: -15px;
}
.border_button_back {
  left: 116.66%;
  top: -16.66%;
  margin-top: -15px;
}
.border_button {
  -webkit-appearance: none;
  -moz-appearance: none;   
  appearance: none;   
  position: absolute;
  width: 100%;
  height: 26px;
  border-radius: 6px;
  border: 0;
  box-sizing: border-box;
  cursor: pointer;
  font-size: 12px;
  background: var(--btn-color);
  outline: none;
  text-indent: 5px;
  color: var(--font-color);
}
.border_button option{
  color: var(--font-color);
}
.buy {
  z-index: 99999;
  display: none;
  max-width: 400px;
  margin: 0 auto;
  text-align: center;
  background: #ffffff;
  position: fixed;
  top: 50px;
  left: 50%;
  margin-left: -200px;
  padding: 40px;
  box-sizing: border-box;
}
.hide_for_mobile{
	display:block;
}

.formedit{
  position: absolute;
  top: 0;
  left:0;
  width: 100%;
  height: 100%;
  background-color:#ffffff;
  overflow: hidden;
  display: none;
  z-index: 99999;
}
.formedit_header_left{
  float: left;
  font-size: 14px;
  padding-left:15px;
  font-weight: bold;
}
.formedit_header_right{
  float: right;
}

.formedit_header{
  background: var(--bg-color);
  font-size: 0;
  width: 100%;
  line-height: 50px;
  height: 50px;
  position: absolute;
  top:0;
  left:0;
  border-bottom:1px solid #eeeeee;
}
.formedit_canvas{
  background: #f3f3f3;
}

.formedit_tools{
  font-size: 0;
  position: absolute;
  background: #ffffff;
  padding: 5px;
  box-shadow: rgba(0, 0, 0, 0.04) 0px 3px 5px;
  border-radius: 6px;
  bottom:20px;
  left: 50%;
  margin-left: -95px;
}
.formedit_header_button{
  padding: 7px 15px;
  display: inline-block;
  font-size: 13px;
  margin-right: 15px;
  vertical-align: middle;
  border: 0;
  border-radius: 6px;
  cursor: pointer;
  box-sizing: border-box;
  background: var(--btn-color);
  outline: none;
  height: 32px;    
}

.formedit_button{
  vertical-align: middle;
  display: inline-block;
  width: 40px;
  height: 40px;
  cursor: pointer;
  border: 0;
  background: #ffffff;
  border-radius: 6px;
  margin-right: 7px;
}
.formedit_button:hover{
  background: #eeeeee;
}

.formedit_remove:before{
  display: inline-flex;
  content: "";
  background-image: url(/img/delete.svg);
  background-size: 25px 25px;
  height: 25px;
  width: 25px;
  position: relative;
  top: 2px;
  left: 0px;
  background-repeat: no-repeat;
}
.formedit_arc_cv:before{
  display: inline-flex;
  content: "";
  background-image: url(/img/line_curve_cv.svg);
  background-size: 27px 27px;
  height: 27px;
  width: 27px;
  position: relative;
  top: 2px;
  left: 0px;
  background-repeat: no-repeat;
}
.formedit_arc_cvx:before{
  display: inline-flex;
  content: "";
  background-image: url(/img/line_curve_cvx.svg);
  background-size: 27px 27px;
  height: 27px;
  width: 27px;
  position: relative;
  top: 2px;
  left: 0px;
  background-repeat: no-repeat;
}
.formedit_line:before{
  display: inline-flex;
  content: "";
  background-image: url(/img/line_start.svg);
  background-size: 25px 25px;
  height: 25px;
  width: 25px;
  position: relative;
  top: 2px;
  left: 0px;
  background-repeat: no-repeat;
}

.formedit_hole:before{
  display: inline-flex;
  content: "";
  background-image: url(/img/hole.svg);
  background-size: 25px 25px;
  height: 25px;
  width: 25px;
  position: relative;
  top: 2px;
  left: 0px;
  background-repeat: no-repeat;
}

.formedit_milling:before{
  display: inline-flex;
  content: "";
  background-image: url(/img/milling.svg);
  background-size: 25px 25px;
  height: 25px;
  width: 25px;
  position: relative;
  top: 2px;
  left: 0px;
  background-repeat: no-repeat;
}
.borders{
  display: none;
}


.loader::before {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  border: 2px solid transparent;
  border-top: 2px solid #0D99FF;
  border-right: 2px solid #0D99FF;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  pointer-events: none;
  z-index: 1;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}



.video_instructions{
  width: 100%;
  padding: 15px;
  cursor: pointer;
  box-sizing: border-box;
}

.video_instructions_window{
  display:none;
  position: absolute;
  width: 728px;
  height: 410px;
  left: 50%;
  top: 50%;
  margin-left: -364px;
  margin-top: -205px;
  z-index:99999;
}
.video_overlay{
  position: fixed;
  background: #333333;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
	display:none;
	z-index:9999;
  animation: ovrl 0.3s forwards;
  backdrop-filter: blur(5px);
  background: rgba(0, 0, 0, 0.6);
}
.youtube_video{
  width: 728px;
  height: 410px;
}




.redo{
  opacity: 0.3;
}
.redo::before{
  display: inline-flex;
  content: "";
  background-image: url(/img/reply_black.svg);
  background-size: 20px 20px;
  height: 20px;
  width: 20px;
  position: relative;
  top: 2px;
  left: 0px;
  background-repeat: no-repeat;
}
.undo{
  opacity: 0.3;
}
.undo::before{
  display: inline-flex;
  content: "";
  background-image: url(/img/forward_black.svg);
  background-size: 20px 20px;
  height: 20px;
  width: 20px;
  position: relative;
  top: 2px;
  left: 0px;
  background-repeat: no-repeat;
}

.community_link{
		font-size: 13px;
		padding: 6px;
		width:100%;
		background:var(--guide-link);
		border: 1px solid var(--font-color4);
		border-radius: 6px;
		text-decoration: none;
		margin-top:5px;
		color: var(--font-color4);
		text-align: center;
		display: inline-block;
		transition: all .2s;
		box-sizing: border-box;
		cursor: pointer;
		font-weight: bold;
		line-height: 20px;
    
		
	}




@media screen and (max-width: 1500px) {
    .ads_case{
        display:none !important;
    }

}

@media screen and (max-width: 768px) {
    .ads_case{
        display:none !important;
    }

}


body:lang(ar) .auth_label {
	direction: rtl;
	text-align: right;
}
body:lang(ar) .auth_input {
	direction: rtl;
	text-align: right;
}

body:lang(ar) .tab_menu {
	height: 38px;
}


body:lang(ar) .tab_title {
	font-size: 18px;
}
body:lang(ar) .ar_lang {
	font-size: 18px;
}
body:lang(ar) .section_title {
	font-size: 16px;
}
body:lang(ar) .charpter_title {
	font-size: 16px;
}
body:lang(ar) .project-name-edit{
	font-size: 18px;
}

body:lang(ar) .helper{
	font-size: 22px;
}
body:lang(ar) .label {
	font-size: 16px;
}
body:lang(ar) .button {
	font-size: 16px;
}
body:lang(ar) .tools_message {
	font-size: 16px;
}
body:lang(ar) .header_button {
	font-size: 18px;
}

body:lang(ar) .add_button_cart {
	font-size: 18px;
}
 
body:lang(ar) .materials_window_title {
	font-size: 18px;
}
body:lang(ar) .lang_case {
	font-size: 16px;
	direction: rtl;
    text-align: right;
}  
body:lang(ar) .lang_case:before {
	right: 3px;
	left:0;
}  

body:lang(ar) .materials_filter_button {
	font-size: 22px;
} 
body:lang(ar) .materials_window_case {
	top: 222px;
} 

body:lang(ar) .pick_name {
	font-size: 16px;
}  

body:lang(ar) .mesh_title {
	font-size: 16px;
}  

body:lang(ar) .ai_button {
	font-size: 18px;
}  

body:lang(ar) .ai_button {
	font-size: 24px;
	direction: rtl;
}  
 
body:lang(ar) .cutting_rotate {
	font-size: 18px;
	direction: rtl;
}  
body:lang(ar) .cut_window_title {
	font-size: 18px;
}  

body:lang(ar) .cutting_left {
	font-size: 18px;
} 
body:lang(ar) .window_row {
	font-size: 18px;
	direction: rtl;
} 
body:lang(ar) .window_title {
	font-size: 18px;
	direction: rtl;
} 
body:lang(ar) .cart_order_title {
	text-align: right;
	direction: rtl;
	font-size: 22px;
} 
body:lang(ar) .cart_list {
	text-align: right;
	direction: rtl;
	font-size: 18px;
} 
body:lang(ar) .cart_order_check {
	text-align: right;
	direction: rtl;
	font-size: 18px;
} 
body:lang(ar) .cart_order_left {
   align-items: flex-end;
}

body:lang(ar) .ai_edit {
	direction: rtl;
	font-size: 22px;
}
  
body:lang(ar) .cart_order_case {
	justify-content: flex-end;
}
   
body:lang(ar) .cart_order_button {
	font-size: 22px;
}
body:lang(ar) .menu_link {
	font-size: 16px;
}
  
body:lang(ar) .tipday {
	direction: rtl;
	font-size: 16px;
} 
  
body:lang(ar) .quiz_content {
	direction: rtl;
	font-size: 16px;
} 



.tooltip {
  opacity: 1;
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  font-size: 14px;
  color: #333333;
  padding: 10px 15px;
  z-index: 999;
  background: #ffffce;
  box-sizing: border-box;
  text-align: center;
  transition: opacity 0.5s ease;
}

.tooltipvisible {
  display: block;
  animation: fadeOut 0.5s ease forwards;
  animation-delay: 2s;
}


.message{
  display: none;
  position: absolute;
  background: #ffffce;
  top: 60px;
  left: 50%;
  color: #333333;
  transform: translateX(-50%);
  font-size: 14px;
  padding: 10px 15px;
  opacity: 1;
  font-weight: bold;
  z-index: 999999;
  border-radius: 6px;
  box-sizing: border-box;
  max-width: 500px;
  line-height: 1.4;
  transition: opacity 0.5s ease;
}

.messagevisible {
  display: block;
  animation: fadeOut 0.5s ease forwards;
  animation-delay: 2s;
}
.message_warring{
  width: 100%;
  background: #eb4d4b;
}

@keyframes fadeOut {
  from { opacity: 1; }
  to { opacity: 0; }
}






.window_convert{
  display: none;
  position: absolute;
  transform: translateX(-50%);
  z-index: 99999;
  max-width: 480px;
  width: calc(100% - 30px);
  top: 60px;
  left: 50%;
  background: var(--bg-color);
  padding: 0;
  box-sizing: border-box;
  border-radius: 0;
  text-align: center;
  height: 50%;
  min-height: 300px;
  border-radius: 6px;
  overflow: hidden;
}
.convert_title{
  height: 40px;
  display: flex;
  align-items: center;
  padding: 0 15px;
  border-bottom: 1px solid var(--brd-color);
  box-sizing: border-box;
}
.convert_block{
  width: 100%;
  height: 80px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--brd-color);
  padding: 15px;
  box-sizing: border-box;
  cursor: pointer;
}
.convert_block:hover{
  background: var(--bg-select-color);
}
.convert_case{
  position: absolute;
  top: 40px;
  bottom: 0;
  overflow-y: auto;
  width: 100%;
}
.convert_image{
  width: 65px;
  height: 65px;
}
.convert_text{
  margin-left: 15px;
  text-align: left;
  font-size: 14px;
}


.window_room{
  z-index: 99999;
  display: none;
  max-width: 500px;
  margin: 0 auto;
  text-align: center;
  background: var(--bg-color);
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  box-sizing: border-box;
  animation: ani 0.5s forwards;
  opacity: 0;
  border-radius: 0 0 6px 6px;
  padding-bottom: 25px;
}
.room_title{
  height: 40px;
  display: flex;
  align-items: center;
  padding: 0 15px;
  border-bottom: 1px solid var(--brd-color);
  box-sizing: border-box;
}

.room_color{
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 3px solid var(--bg-color);
  box-sizing: border-box;
  margin-right: 12px;
  cursor: pointer;
  background-size: 100px;
}
.room_color:hover{
  border: none;
}
.room_color_selected{
  border-color: #0d99ff;
}
.room_color_selected:hover{
  border: 3px solid #0d99ff;
}
.room_color_case{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  padding: 5px 15px;
}
.room_option_title{
  margin-top: 5px;
  font-size: 12px;
  text-align: left;
  padding: 0 15px;
}
.room_size{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 10px 15px;
}
.room_size_case{
  text-align: left;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
}
.room_size_image{
  width: 148px;
  height: 98px;
  background: #def;
}
.room_size_w{
  font-size: 12px;
    display: flex;
    flex-direction: column;
    width: 33.33%;
}
.room_size_h{
  font-size: 12px;
    display: flex;
    flex-direction: column;
    width: 33.33%;
}
.room_size_d{
  font-size: 12px;
    display: flex;
    flex-direction: column;
    width: 33.33%;
}
.room_size_w input{
  width: 60%;
  font-size: 14px;
  border-radius: 6px;
  padding: 5px;
  min-width: 60px;
  outline: none;
  border: 0;
  background: var(--txta-bg);
  color: var(--font-color);
}
.room_size_h input{
  width: 60%;
  font-size: 14px;
  border-radius: 6px;
  padding: 5px;
  outline: none;
  min-width: 60px;
  border: 0;
  background: var(--txta-bg);
  color: var(--font-color);
}
.room_size_d input{
  width: 60%;
  font-size: 14px;
  border-radius: 6px;
  padding: 5px;
  outline: none;
  border: 0;
  min-width: 60px;
  background: var(--txta-bg);
  color: var(--font-color);
}
.room_size_d label, .room_size_w label, .room_size_h label {
  margin-bottom: 3px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}



.switch {
  position: relative;
  display: inline-block;
  width: 32px;
  height: 18px;
}
.switch input {display:none;}

.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  -webkit-transition: .1s;
  transition: .1s;
}

.slider:before {
  position: absolute;
  content: "";
  height: 16px;
  width: 16px;
  left: 1px;
  bottom: 1px;
  background-color: var(--bg-color);
  -webkit-transition: .1s;
  transition: .1s;
}

input:checked + .slider {
  background-color: #0d99ff;
}

input:focus + .slider {
  box-shadow: 0 0 1px #0d99ff;
}

input:checked + .slider:before {
  -webkit-transform: translateX(14px);
  -ms-transform: translateX(14px);
  transform: translateX(14px);
}

/* Rounded sliders */
.slider.round {
  border-radius: 34px;
}

.slider.round:before {
  border-radius: 50%;
}


.button_loading_blink{
  animation: blinkOpacity  1s infinite;
}
@keyframes blinkOpacity  {
  0%, 100% { opacity: 1; } 
  50% { opacity: 0.4; }
}


.camera_reflect{
  background: var(--cbtn-ref);
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 5px;
  width: 34px;
}
.reflect_icon{
  height: 15px;
  width: 22px;
  display: none;
  background: var(--cbtn-ref);
}
.reflect_icon:before{
  content: "";
  background-image: url(/img/reflect.svg);
  background-size: 100% 100%;
  height: 100%;
  width: 100%;
  display: block;
  background-repeat: no-repeat;
}



.xray_freeze{
  background: var(--cbtn-ref);
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 5px;
  width: 34px;
}
.reflect_icon{
  height: 15px;
  width: 22px;
  display: none;
  background: var(--cbtn-ref);
}
.reflect_icon:before{
  content: "";
  background-image: url(/img/reflect.svg);
  background-size: 100% 100%;
  height: 100%;
  width: 100%;
  display: block;
  background-repeat: no-repeat;
}


.fixer_case_v{
  height: 26px;
  position: absolute;
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  min-width: calc(100% + 45px);
  left: 50%;
  transform: translateX(-50%);
  justify-content: center;
}

.fixer_case_h{
  position: absolute;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  transform: translateY(-50%);
  justify-content: center;
  top: 50%;
}


.fixer_opt_v{
  width:50px;
  margin-left:5px;
  width: 100%;
  max-width: 40px;
  position: relative;
  display:none;
}
.fixer_opt_h{
  margin-top: 5px; 
  width: 100%;
  max-width: 40px;
  position: relative;
  display:none;
}


.cmt_case{
  width: 100%;
  max-width: 380px;
  float: right;
  height: calc(100% - 50px);
  position: relative;
  border-left: 1px solid var(--brd-color);
  box-sizing: border-box;
  background: var(--bg-color);
  z-index: 99;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.cmt_conteiner{
  position: absolute;
  top: 41px;
  bottom: 0px;
  width: 100%;
  background: var(--bg-color); 
  z-index: 99;    
  font-size: 12px;
}

.cmt_close{
  width: 25px;
  height: 25px;
  position: absolute;
  top: 7px;
  right: 5px;
  cursor: pointer;
}
.cmt_close:hover{
  background: var(--bg-select-color);
}
.cmt_title{
  padding: 12px 8px; 
  display: flex;
  justify-content: space-between;
}
.cmt_title_case{
    position: absolute;
    top:0;
    width: 100%;
    z-index: 999;
}
.cmt {
    position: relative;
    overflow: hidden;
    font-family: system-ui, sans-serif;
    font-size: 14px;
    color: #1a1a1a;
    background: #fff;
    min-height: 420px;
}

/* ── Экраны ──────────────────────────────────────────────────── */

.cmt__screen {
    position: absolute;
    inset: 0;
    display: none;
    flex-direction: column;
}
.cmt__screen--active { display: flex; }

/* ── Шапка ───────────────────────────────────────────────────── */

.cmt__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px;
    border-bottom: 1px solid var(--brd-color);
    flex-shrink: 0;
    padding-top: 0;
}

.cmt__title  { font-weight: 600; font-size: 15px; }


.cmt__back-btn {
    background: none;
    border: none;
    color: var(--font-color2);
    cursor: pointer;
    font-size: 12px;
    padding: 7px 5px;
	height: 32px;
}
.cmt__back-btn:hover { text-decoration: underline; }

/* ── Список ──────────────────────────────────────────────────── */

.cmt__list {
    flex: 1;
    overflow-y: auto;
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cmt__item {
    padding: 10px 12px;
    border-radius: 7px;
    border: 1px solid transparent;
    background: var(--bg4-color);
    cursor: pointer;
    transition: background .1s, border-color .1s;
}
.cmt__item:hover { border-color: #0d99ff;}

.cmt__item-top {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 5px;
}

.cmt__item-text {
    margin: 0;
    color: var(--font-color);
    line-height: 1.45;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.cmt__badge {
    margin-left: auto;
    background: #dbeafe;
    color: #1d4ed8;
    font-size: 11px;
    border-radius: 10px;
    padding: 1px 8px;
}

/* Галочка */
.cmt__check-btn {
    background: none;
    border: 1.5px solid #d1d5db;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    cursor: pointer;
    color: #d1d5db;
    flex-shrink: 0;
    transition: border-color .15s, background .15s, color .15s;
    padding: 0;
    line-height: 1;
}
.cmt__check-btn:hover { border-color: #22c55e; }
.cmt__check-btn--active { border-color: #22c55e; background: #22c55e; color: #fff; }

/* Отмеченный комментарий */
.cmt__item--checked { background: var(--cmt-bg-color); border-color: var(--cmt-brd); color: #333333;}

/* ── Детальный вид ───────────────────────────────────────────── */

.cmt__detail-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Лента: главный комментарий + субы, скроллится */
.cmt__feed {
    flex: 1;
    overflow-y: auto;
    padding:8px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* Главный комментарий */
.cmt__main {
    padding: 9px 12px;
    background: var(--bg4-color);
    border: 1px solid transparent;
    border-radius: 7px;
}

.cmt__main-top {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 7px;
}

.cmt__main-text {
    margin: 0;
    line-height: 1.5;
    white-space: pre-wrap;
    word-break: break-word;
}

/* Субкомментарии */
.cmt__sub {
    padding: 9px 12px;
    background: var(--bg4-color);
    border: 1px solid transparent;
    border-radius: 7px;
}

.cmt__sub-top {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 4px;
}

.cmt__sub-text {
    margin: 0;
    line-height: 1.5;
    white-space: pre-wrap;
    word-break: break-word;
}

/* Форма нового комментария (внутри ленты при _openNew) */
.cmt__new-form {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.cmt__new-label {
    font-weight: 600;
    font-size: 15px;
    margin: 0 0 2px;
}

/* Форма субкомментария — внутри ленты, скроллится вместе с ней */
.cmt__sub-form {
    display: flex;
    gap: 8px;
    align-items: flex-end;
    padding-top: 4px;
	    flex-direction: column;
}
.cmt__sub-form .cmt__textarea { flex: 1; }

/* ── Редактирование ──────────────────────────────────────────── */

.cmt__edit-form {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 8px;
}
.cmt__edit-btns { display: flex; gap: 6px;justify-content: flex-end; }

/* ── Три точки ───────────────────────────────────────────────── */

.cmt__menu-wrap {
    position: relative;
    margin-left: auto;
}

.cmt__dots-btn {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
    color: var(--font-color);
    padding: 2px 6px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .1s, color .1s;
}
.cmt__dots-btn:hover { background: var(--bg-color); }

.cmt__menu {
    position: absolute;
    right: 0;
    top: calc(100% + 4px);
    background: var(--bg-color);
    border: 1px solid var(--brd-color);
    border-radius: 7px;
    box-shadow: 0 4px 16px rgba(0,0,0,.10);
    min-width: 130px;
    z-index: 100;
    overflow: hidden;
}

.cmt__menu-item {
    display: block;
    width: 100%;
    padding: 9px 14px;
    background: none;
    border: none;
    text-align: left;
    font-size: 13px;
    cursor: pointer;
    color: var(--font-color);
    transition: background .1s;
}
.cmt__menu-item:hover { background: var(--bg-select-color); }
/* .cmt__menu-item--danger { color: #ef4444; } */
.cmt__menu-item--danger:hover { background: var(--bg-select-color); }

/* ── Общие ───────────────────────────────────────────────────── */

.cmt__user  { font-weight: 600; font-size: 12px; color: var(--font-color); }
.cmt__time  { font-size: 11px; color: var(--font3-color); margin-right: auto; }
.cmt__empty { margin: 0; color: #9ca3af; font-size: 13px; padding: 4px 0; }
.cmt__empty--feed { padding: 8px 0; }
.cmt__error { padding: 10px;
    color: #dc2626;
    font-size: 13px;
    background: #ffffffcf;
    position: absolute;
    width: 100%;
    bottom: -77px; }

.cmt__textarea {
    width: 100%;
    padding: 7px 10px;
    border: 1px solid var(--txta-brd);
    border-radius: 6px;
    resize: vertical;
    font-size: 13px;
    font-family: inherit;
    box-sizing: border-box;
    line-height: 1.5;
    background: var(--txta-bg);
    color: var(--font-color);
}
.cmt__textarea::placeholder {
  color: var(--txta-plh);
}
.cmt__textarea:focus {
    outline: none;
    border-color: #0D99FF;
}

.cmt__btn {
    padding: 7px 5px;
    background: #0D99FF;
    color: #fff;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 12px;
    white-space: nowrap;
    flex-shrink: 0;
	height: 32px;
}

.cmt__btn:disabled { opacity: .5; cursor: default; }
.cmt__btn--sm      { padding: 3px 9px; font-size: 12px; }
/* .cmt__btn--ghost   { background: transparent; color: #007bff; border: 1px solid #bfdbfe; }
.cmt__btn--ghost:hover { background: #eff6ff; } */
.cmt__btn--danger  { background: #ef4444; }
.cmt__btn--danger:hover { background: #dc2626; }


.fr-step {
    display: none;
    z-index: 99999;
    width: 100%;
    max-width: 400px;
    position: fixed;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    background: var(--bg-color);
    padding: 15px;
    box-sizing: border-box;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    text-align: left;
}

.fr-step h2 {
    color: var(--font-color);
    margin-bottom: 20px;
    font-size: 20px;
}

.fr-form-group {
    margin-bottom: 20px;
}

.fr-step label {
    display: block;
    color: var(--font-color);
    font-weight: 500;
}

.fr-select,
.fr-input {
    width: 100%;
    padding: 12px;
    border: 1px solid var(--txta-brd);
    border-radius: 4px;
    background: var(--txta-bg);
    color: var(--font-color);
    font-size: 14px;
    box-sizing: border-box;
}

.fr-select:focus,
.fr-input:focus {
    outline: none;
    border-color: #2196F3;
}

.fr-error {
    color: #f44336;
    font-size: 13px;
    margin-top: 5px;
    display: none;
}

.fr-error.fr-show {
    display: block;
}

.fr-invalid {
    border-color: #f44336;
}

.fr-button {
    padding: 12px 24px;
    border: none;
    border-radius: 4px;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s;
    background: #0D99FF;
    color: #ffffff;
    width: 100%;
}

.fr-button-disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

.fr-button-success {
    background-color: #22c55e !important;
}

.fr-city-selector-wrapper {
    position: relative;
}

.fr-city-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--bg-color);
    border: 1px solid var(--brd-color);
    border-top: none;
    border-radius: 0 0 4px 4px;
    max-height: 300px;
    height: 300px;
    overflow-y: auto;
    overflow-x: hidden;
    z-index: 1000;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    -webkit-overflow-scrolling: touch;
    text-align: left;
}

.fr-city-dropdown::-webkit-scrollbar {
    width: 8px;
}

.fr-city-dropdown::-webkit-scrollbar-track {
    background: #f1f1f1;
}

.fr-city-dropdown::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 4px;
}

.fr-city-dropdown::-webkit-scrollbar-thumb:hover {
    background: #555;
}

.fr-city-dropdown-item {
    padding: 10px 12px;
    cursor: pointer;
    border-bottom: 1px solid var(--brd-color);
    transition: background-color 0.2s;
}

.fr-city-dropdown-item:hover {
    background-color: var(--bg4-color);
}

.fr-city-dropdown-item.fr-selected {
    background-color: var(--brd-color);
    color: #2196F3;
}

.fr-city-dropdown-item .fr-city-name {
    font-weight: 500;
    color: var(--font-color);
}

.fr-city-dropdown-item .fr-city-info {
    font-size: 12px;
    color: var(--font-color3);
    margin-top: 2px;
}

.fr-city-dropdown-loader {
    padding: 10px;
    text-align: center;
    color: var(--font-color3);
    font-size: 14px;
}

.fr-city-dropdown-empty {
    padding: 20px;
    text-align: center;
    color: var(--font-color3);
}

.fr-close {
    position: absolute;
    right: 15px;
    cursor: pointer;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ПЛАНШЕТ портрет и ниже (≤ 1024px) 
@media (max-width: 1024px) */
/* ТЕЛЕФОН (≤ 600px) 
@media (max-width: 600px) */
  
@media screen and (max-width: 1024px) {

  .header_logo{
    display: none;
  }
  
  .canvas_case_mode{
    height: calc(70% - 50px);
  }

  .video_instructions_window{
    width: 340px;
    height: 191px;
    margin-left: -170px;
    margin-top: -95px;
   
  }
  .youtube_video{
    width: 340px;
    height: 191px;
  }

  .door_edit{
   left: 105px;
  }
  
  .buy_price_case:hover {
    background: #ffffff;
  }

  .buy_case{
    width: 100%;
    border-radius: 0;
    text-align: right;
    border: 0;
    border-top: 1px solid #d6d6d6;
    position: fixed;
    z-index: 9999;
    bottom: 0;
    color: #333333;
    left: 0;
    background: #ffffff;
  }
  .camera{
    display: inline-block;
  }
	.hide_for_mobile{
		display:none;
	}
		.header_login_link{
			font-size:14px;
		}
  .header_center {
    display: none;
  }
  .canvas_case {
    width: 100%;
    margin: 0;
  }
  .tools {
    width: 50px;
    height: 50px;
    display: inline-block;
  }
  .tools_case {
    display: none;
    width: 70%;
    position: absolute;
    bottom: 0;
    left: 0;
    overflow: hidden;
    z-index: 9999;
    top: 50px;
  }
  .settings_case {
    display: none;
    width: 70%;
    position: absolute;
    bottom: 0;
    right: 0;
    overflow: hidden;
    z-index: 9999;
    top: 50px;
  }

  .sketch_edit {
    font-size: 0;
  }
   .sketch_edit span{
   display: none;
  }
  .ai_magic_icon{
    margin: 0;
  }

  .sidebar_tools{
      top: 50px;
      transform: scale(0.8);
    transform-origin: top left;
  }

  .header_right {
    z-index: 999;
    position: absolute;
    right: 0;
    height: 50px;
	  width: auto;
  }
  .header_left{
	width: auto;
  }
  .image_icon,
  .scheme_icon{
    font-size: 0;
    min-width: 25px;
    padding: 0 8px;
  }
  .viewonly_icon{
    font-size: 0;
    min-width: 25px;
    padding: 0 8px;
  }
  .image_icon:before,
  .scheme_icon:before {
    left: 0;
    top: 12px;
    height: 25px;
    width: 25px;
    background-size: 25px 25px;
  }
  .viewonly_icon:before {
    left: 0;
    top: 12px;
    height: 25px;
    width: 25px;
    background-size: 25px 25px;
  }
  .window {
    width: 100%;
    position: fixed;
    top: 51px;
    left: 0;
  }
  .header_button:hover {
    background: #28282a;
  }
  .iframe{
    flex-direction: column;
  }

.reply_icon {
    top: 60px;
    z-index: 999;
    left: 10px;
    border-radius: 50%;
    position: absolute;
    min-width: 40px;
    width: 40px;
    height: 40px;
    vertical-align: middle;
    cursor: pointer;
    border: 1px solid #d6d6d6;
    background: #ffffff!important;
    border-radius: 50%;
    margin-bottom: 5px;
    display: inline-block;
    box-shadow: rgba(0, 0, 0, 0.04) 0px 3px 5px;
}
.reply_icon::before{
  background-image: url(/img/reply_black.svg);
  top: -1px;
  left: -6px;
}
    /* .ai_edit{
        right:10px;
        bottom: 80px;
    } */
    .add_settings{
        left:10px;
    }
    .edit_settings{
        right:10px;
    }

  .forward_icon{
    top: 60px;
    z-index: 999;
    left: 55px;
    border-radius: 50%;
    position: absolute;
    min-width: 40px;
    width: 40px;
    height: 40px;
    vertical-align: middle;
    cursor: pointer;
    border: 1px solid #d6d6d6;
    background: #ffffff!important;
    border-radius: 50%;
    margin-bottom: 5px;
    display: inline-block;
    box-shadow: rgba(0, 0, 0, 0.04) 0px 3px 5px;
  }
  .forward_icon::before{
    background-image: url(/img/forward_black.svg);
    top: -1px;
    left: -5px;
  }

  .message_no_edit {
    display: block;
  }
  .header {
    padding: 0;
  }
 .add_settings{
    display: block;
  }
  .edit_settings {
    display: block;
  }
  .cutting_window {
    width: 100%;
    margin: 0;
    left: 0;
    transform: none;
  }
  .cutting_tools {
    width: 100%;
    margin: 0;
    left: 0;
    transform: none;
  }


  .auth{
    height: 100%;
    top: 0;
    width: 100%;
    max-width:100%;
    margin-left: 0;
    left: 0;
    border-radius: 0;
  }
  .auth_login, .auth_sign{
      min-width: 220px;
  }
  .auth_menu{
  display:block;
  }



  .cutting_message{
    font-size: 13px;
    line-height: 1.2;
  }

  .cutting_left{
    font-size: 13px;
  }
  .cutting_right{
    font-size: 13px;
  }

  .ai_tools{
    left: 50%;
    box-sizing: border-box;
    transform: translate(-50%);
    display: inline-flex;
  }

  .cart_order_left{
    max-width: 100%;
    padding: 25px;
  }
  .cart_order_right{
    max-width: 100%;
    
  }
  .card_none{
	  display: none;
  }

  .cart_order{
    flex-direction: column;
    height: 550px;
  }

  .quiz{
    max-width: 100%;
    left: 0;
    margin-left: 0;
    border-radius: 0;
  }
  
  .pick{
	line-height: normal;   
  }

}


